PT-2026-42766 · Npm+2 · Shell-Quote+2
Akshat Sinha
+1
·
Publicado
2026-05-22
·
Atualizado
2026-06-11
·
CVE-2026-9277
CVSS v4.0
9.2
Crítica
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Nome do Software Vulnerável e Versões Afetadas
shell-quote versões anteriores a 1.8.4
Descrição
A função
quote() não valida as entradas de tokens de objeto em relação ao modelo de operador usado por parse(). Especificamente, o campo .op é escapado usando uma expressão regular que não corresponde a terminadores de linha, como , r, U+2028 e U+2029. Isso permite que terminadores de linha passem sem escape para a saída. Como os shells POSIX tratam novas linhas literais como separadores de comando, qualquer conteúdo após a nova linha é executado como um comando separado, resultando em injeção de comando. Este problema é acessível por meio da construção direta de { op: '... ...' } a partir de entradas externas ou via parse(cmd, envFn) quando envFn retorna tokens de objeto cujo campo .op é influenciado por um invasor.Recomendações
Atualize para a versão 1.8.4 ou posterior.
Como medida paliativa temporária, restrinja a influência de entradas externas no campo
.op em tokens de objeto passados para a função quote() ou retornados por envFn na função parse().Exploit
Correção
OS Command Injection
Command Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Linuxmint
Ubuntu
Shell-Quote