CVE-2026-33532
yaml é vulnerável a Stack Overflow por meio de coleções YAML profundamente aninhadas
- Publicado
- 26 de mar. de 2026
- Atualizado
- 30 de mar. de 2026
- Atribuindo CNA
- GitHub_M
- Evidência observada
- 25 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:LBaixo · próximos 30 dias
- Percentil
- 39,7%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
`yaml` é um analisador e serializador YAML para JavaScript. Analisar um documento YAML com uma versão de `yaml` no ramo 1.x anterior a 1.10.3 ou no ramo 2.x anterior a 2.8.3 pode lançar um `RangeError` devido a um estouro de pilha. A fase de resolução/composição de nós usa chamadas de função recursivas sem limite de profundidade. Um atacante que possa fornecer YAML para análise pode acionar um `RangeError: Maximum call stack size exceeded` com um payload pequeno (~2–10 KB). O `RangeError` não é um `YAMLParseError`, portanto aplicações que apenas capturam erros específicos de YAML encontrarão um tipo de exceção inesperado. Dependendo do tratamento de exceções da aplicação hospedeira, isso pode falhar requisições ou encerrar o processo Node.js. Sequências de fluxo permitem aninhamento profundo com poucos bytes (2 bytes por nível: um `[` e um `]`). Na pilha padrão do Node.js, aproximadamente 1.000–5.000 níveis de aninhamento (entrada de 2–10 KB) esgotam a pilha de chamadas. O limite exato depende do ambiente (versão do Node.js, tamanho da pilha, profundidade da pilha de chamadas no momento da invocação). Nota: o `Parser` da biblioteca (fase CST) usa uma abordagem iterativa baseada em pilha e não é afetado. Apenas a fase de composição/resolução usa recursão real da pilha de chamadas. Todas as três APIs públicas de análise são afetadas: `YAML.parse()`, `YAML.parseDocument()` e `YAML.parseAllDocuments()`. As versões 1.10.3 e 2.8.3 contêm um patch.
Fontes
1Repositório dedicado ao CVE-2026-33532, fornecendo análise e possível prova de conceito para uma vulnerabilidade web.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.