PT-2026-20783 · Node.Js+2 · Node.Js+3
Sanu1999
·
Publicado
2026-02-18
·
Atualizado
2026-06-04
·
CVE-2026-26318
CVSS v3.1
8.8
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
systeminformation versões anteriores à 5.31.0
Descrição
A biblioteca systeminformation para node.js é suscetível a injeção de comandos por meio da saída não sanitizada do comando
locate dentro da função versions(). Isso ocorre ao detectar a versão do PostgreSQL em sistemas Linux. O comando locate pesquisa um banco de dados do sistema em busca de nomes de arquivos, e, caso qualquer nome de arquivo indexado contenha metacaracteres do shell (especificamente ponto e vírgula), esses caracteres podem ser interpretados pelo shell ao serem passados para a função exec(). A vulnerabilidade requer que o sistema-alvo esteja executando Linux, tenha o locate instalado e contenha um binário do PostgreSQL no banco de dados do locate. Um atacante pode criar arquivos no sistema de arquivos que, ao serem indexados pelo updatedb, permitem a execução arbitrária de comandos com os privilégios do processo Node.js. O problema é acionado quando a função versions() é chamada, possivelmente em cenários como painéis de monitoramento, pipelines CI/CD ou ambientes containerizados. A vulnerabilidade pode ser explorada se o atacante puder criar arquivos no sistema de arquivos e o banco de dados do locate for atualizado. Ocorrem aproximadamente mais de 5.000.000 de downloads semanalmente.Recomendações
Versões anteriores à 5.31.0 devem ser atualizadas para a versão 5.31.0 ou posterior. Substitua
exec() por execFile() para a verificação da versão do binário do PostgreSQL. Além disso, a saída do locate deve ser validada contra um padrão de caminho seguro antes do uso.Exploit
Correção
RCE
OS Command Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Node.Js
Postgresql
Slocate
Systeminformation