← voltar
CVE-2026-21710

CVE-2026-21710

CVSS 7.5 HIGHEPSS 13.1%CWE-770
Em resumo

Um servidor Node.js trava com um erro não tratado ao receber uma requisição com um cabeçalho chamado `__proto__` se a aplicação lê `req.headersDistinct`. Esta falha de negação de serviço não pode ser capturada por manipuladores de erro normais, forçando desenvolvedores a adicionar proteção extra ao acessar headers.

Detalhe técnico

A vulnerabilidade explora poluição de protótipo via injeção de cabeçalho HTTP; quando o cabeçalho `__proto__` está presente e `req.headersDistinct` é acessado, o getter de propriedade resolve `dest["__proto__"]` para `Object.prototype` em vez de undefined, causando um TypeError síncrono quando `.push()` é chamado no objeto prototype. Esta exceção não pode ser interceptada por listeners de eventos de erro, permitindo DoS não autenticado contra servidores HTTP Node.js nas versões 20.x, 22.x, 24.x e 25.x.

Resumo gerado e traduzido por IA a partir da descrição oficial.
A flaw in Node.js HTTP request handling causes an uncaught `TypeError` when a request is received with a header named `__proto__` and the application accesses `req.headersDistinct`. When this occurs, `dest["__proto__"]` resolves to `Object.prototype` rather than `undefined`, causing `.push()` to be called on a non-array. This exception is thrown synchronously inside a property getter and cannot be intercepted by `error` event listeners, meaning it cannot be handled without wrapping every `req.headersDistinct` access in a `try/catch`. * This vulnerability affects all Node.js HTTP servers on **20.x, 22.x, 24.x, and v25.x**
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Produtos afetados
nodejs · node

Quer saber se a sua infraestrutura está exposta a isto?

Falar com a TrueHacking →