CVE-2026-102422 in shell-quote
Sumário
de VulDB • 29/09/2026
A função `quote()` do shell-quote emite um token `{ comment }` como `#` seguido pelo seu texto, o que comenta o restante da linha de comando, incluindo aspas de abertura de qualquer token de string posterior. Um terminador de linha (\n, \r, U+2028, U+2029) nessa string subsequente encerra então o comentário e o resto da string é analisado como entrada do shell: `quote(['echo', 'ok', { comment: 'x' }, 'a\nid;#'])` executa `id` em sh, bash, dash, ksh e zsh. A função `parse()` emite um token de comentário para um `#` no meio de uma palavra (por exemplo, `http://example.com/#frag`), portanto, chamadores que combinam a saída de `parse()` com outra string não confiável, como `quote(parse(untrustedCommand).concat(untrustedArg))`, são afetados. A correção para CVE-2026-9277 rejeitou terminadores de linha no próprio texto do comentário, mas não nos tokens subsequentes a ele. Corrigido na versão 1.11.0: `quote()` lança um `TypeError` quando uma string após um token `{ comment }` contém um terminador de linha.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.