CVE-2026-9277 — shell-quote `quote()` does not validate object-token shapes, allowing command injection via line terminators in `.op`
shell-quote's `quote()` function did not validate object-token inputs against the operator model used by `parse()`. The `.op` field was backslash-escaped character by character using `/(.)/g`, which in JavaScript does not match line terminators (\n, \r, U+2028, U+2029). A line terminator in `.op` therefore passed through unescaped into the output; POSIX shells treat a literal newline as a command separator, so any content after it would execute as a second command. The vulnerable code path is reachable in two ways: (1) direct construction of `{ op: '...\n...' }` from external input, and (2) via `parse(cmd, envFn)` when `envFn` returns object tokens whose `.op` is attacker-influenced. Both are documented API surface. Fixed by replacing the per-character escape with strict shape validation: `.op` must match the parser's control-operator allowlist; `{ op: 'glob', pattern }` validates `pattern` and forbids line terminators; `{ comment }` validates `comment` and forbids line terminators; any other object shape throws `TypeError`.
Descrição oficial em inglês (tradução ainda não revisada).
Quem explora e qual a prioridade
Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.
Como a nota foi calculada
- EPSS 0.8% (probabilidade de exploração em 30 dias)+8
- Severidade técnica (high)+6
A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).
Triagem
Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.
Avaliação SSVC da CISA CISA
Três pontos de decisão que a CISA publica para as CVEs que avalia (SSVC 2.0.3). Uma decisão de priorização, não uma nota de severidade.
Remediação
Correções e mitigações documentadas pelas fontes — com link para o aviso original.
Nenhuma correção documentada pelas fontes consultadas. Isso não significa que não exista: verifique o aviso do fabricante.
Primeiras 24 horas
Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.
- Os produtos afetados ainda não foram identificados pelas fontes: acompanhe o aviso do fabricante e mapeie possíveis ativos pelo nome do componente.
- O ataque é pela rede e não exige privilégios: restrinja a exposição (ACLs, VPN, WAF) até corrigir.
- Nenhuma correção documentada nas fontes: reduza a exposição e monitore o aviso do fabricante.
- Procure nos logs disponíveis sinais de tentativa de exploração compatíveis com a classe da falha (injeção), erros e anomalias de autenticação.
Escopo afetado
Fabricante, produto e versões como as fontes os descrevem.
Produtos afetados ainda não identificados pelas fontes.
Características do ataque
O vetor CVSS decodificado. Descreve o ataque, não a sua exposição a ele.
Todas as pontuações coletadas
As fontes pontuam de forma independente e podem discordar; cada linha diz quem pontuou e em qual versão.
| Nota | Versão | Severidade | Explor. | Impacto | Pontuado por |
|---|---|---|---|---|---|
| 9.2 | CVSS 4.0 | Crítica | — | — | 7ffcee3d-2c14-4c3e-b844-86c6a321a158 via NIST National Vulnerability Database |
| 9.2 | CVSS 4.0 | Crítica | — | — | harborist via CVE Program (cve.org) e CISA ADP |
| 8.1 | CVSS 3.1 | Alta | 2.2 | 5.9 | 7ffcee3d-2c14-4c3e-b844-86c6a321a158 via NIST National Vulnerability Database |
| 8.1 | CVSS 3.1 | Alta | 2.2 | 5.9 | 0b0ca135-0b70-47e7-9f44-1890c2a1c46c via NIST National Vulnerability Database |
| 8.1 | CVSS 3.1 | Alta | — | — | harborist via CVE Program (cve.org) e CISA ADP |
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H (nota exibida no topo: 7ffcee3d-2c14-4c3e-b844-86c6a321a158) Fraqueza MITRE
Classe de fraqueza segundo o catálogo CWE do MITRE.
EPSS ao longo do tempo FIRST
13/10/2026 → 14/10/2026 · 2 leitura(s) · máximo 0.82%
Detecção
Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.
- Priorize telemetria de borda para o componente exposto na rede (proxy, WAF, IDS/IPS).
- Procure parâmetros com metacaracteres de comando/consulta e processos filhos inesperados do serviço.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Avaliação SSVC atualizada
- Ficha publicada
- CVSS alterado · 8.1
- Status na fonte alterado · → Deferred
- Registro criado nesta base
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 1× Descrição oficial atualizada · 13/10/2026 – 13/10/2026
Referências
39 no registro
- github.com/ljharb/shell-quote/commit/1518179
- access.redhat.com/security/cve/CVE-2026-9277
- access.redhat.com/errata/RHSA-2026:28571
- access.redhat.com/errata/RHSA-2026:33574
- access.redhat.com/errata/RHSA-2026:34342
- access.redhat.com/errata/RHSA-2026:29834
- access.redhat.com/errata/RHSA-2026:60023
- access.redhat.com/errata/RHSA-2026:44267
- access.redhat.com/errata/RHSA-2026:26090
- access.redhat.com/errata/RHSA-2026:26072
- access.redhat.com/errata/RHSA-2026:26080
- access.redhat.com/errata/RHSA-2026:26225
- www.openwall.com/lists/oss-security/2026/05/23/2
- access.redhat.com/errata/RHSA-2026:62260
- access.redhat.com/errata/RHSA-2026:48699
- access.redhat.com/errata/RHSA-2026:62410
- bugzilla.redhat.com/show_bug.cgi
- access.redhat.com/errata/RHSA-2026:26077
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-9277.json
- access.redhat.com/errata/RHSA-2026:44263
- github.com/ljharb/shell-quote/security/advisories/GHSA-w7jw-789q-3m8p
- access.redhat.com/errata/RHSA-2026:34791
- access.redhat.com/errata/RHSA-2026:41928
- www.npmjs.com/package/shell-quote
- access.redhat.com/errata/RHSA-2026:40765
- access.redhat.com/errata/RHSA-2026:26079
- access.redhat.com/errata/RHSA-2026:29197
- github.com/ljharb/shell-quote
- access.redhat.com/errata/RHSA-2026:56912
- access.redhat.com/errata/RHSA-2026:28010
- access.redhat.com/errata/RHSA-2026:36754
- access.redhat.com/errata/RHSA-2026:56854
- access.redhat.com/errata/RHSA-2026:42796
- access.redhat.com/errata/RHSA-2026:30076
- access.redhat.com/errata/RHSA-2026:33683
- access.redhat.com/errata/RHSA-2026:50850
- access.redhat.com/errata/RHSA-2026:29795
- access.redhat.com/errata/RHSA-2026:41066
- access.redhat.com/errata/RHSA-2026:44237
Em outras páginas do site
Não consta em nenhuma fonte consultada
Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.
- Nenhum produto/versão afetado com evidência nas fontes.
- Nenhuma versão corrigida, patch ou mitigação documentada.
- Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
- Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
- Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.
Respondido a partir deste registro
Texto montado apenas com os campos acima — sem afirmações adicionais.
O que os defensores devem saber primeiro?
CVE-2026-9277 é "shell-quote `quote()` does not validate object-token shapes, allowing command injection via line terminators in `.op`", de severidade Alta. Os produtos afetados ainda não foram identificados pelas fontes. Não está na CISA KEV, o que não exclui exploração. CVSS 8.1 descreve a severidade técnica. EPSS 0.82% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.
Comentários
Discussão técnica moderada. Leia as regras da comunidade.
Nenhum comentário ainda.
Entre ou crie uma conta para comentar e sugerir correções.