CVE-2026-21710

HIGH CVSS 3.0: 7,5 EPSS 0.02%
Обновлено 31 марта 2026
Параметр Значение
CVSS 7,5 (HIGH)
Тип уязвимости CWE-770 (Выделение ресурсов без ограничений)
Публичный эксплойт Нет

Ошибка в обработке HTTP-запросов Node.js приводит к необнаруженной ошибке TypeError, когда запрос получен с заголовком с именем __proto__, а приложение обращается к req.headersDistinct. Когда это происходит, `dest["__proto__"]` разрешается в `Object.prototype`, а не в `unопределённый`, в результате чего `.push()` вызывается для не-массива. Это исключение генерируется синхронно внутри метода получения свойства и не может быть перехвачено прослушивателями событий error, то есть его нельзя обработать без упаковки каждого доступа к `req.headersDistinct` в `try/catch`. * Эта уязвимость затрагивает все HTTP-серверы Node.js в версиях **20.x, 22.x, 24.x и v25.x**.

Показать оригинальное описание (EN)

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 v3.0