Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-21710 — Доказательство концепции эксплуатации для CVE-2026-21710 — уязвимости в обработке HTTP-запросов Node.js, вызывающей неперехваченную ошибку TypeError через заголовок __proto__, что приводит к отказу в обслуживании. | Kitploit
Инструменты/GitHubGitHub/open-flaw/cve-2026-21710
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложений
GitHubopen-flaw/cve-2026-21710

CVE-2026-21710

Доказательство концепции эксплуатации для CVE-2026-21710 — уязвимости в обработке HTTP-запросов Node.js, вызывающей неперехваченную ошибку TypeError через заголовок __proto__, что приводит к отказу в обслуживании.

Репозиторий
4 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-21710 — DoS в Node.js через req.headersDistinct

Сводка

ПолеЗначение
ID CVECVE-2026-21710
Опубликовано2026-03-30
CVSS v3.17.5 HIGH (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
CWECWE-770 — Выделение ресурсов без ограничений или регулирования
ЗатронутоNode.js 20.x, 22.x, 24.x, 25.x
Исправлено вМартовские обновления безопасности 2026

Описание

Ошибка в обработке HTTP-запросов Node.js вызывает неперехваченную TypeError, когда получен запрос с заголовком __proto__, а приложение обращается к req.headersDistinct.

dest["__proto__"] разрешается в Object.prototype, а не в undefined, из-за чего .push() вызывается на не-массиве. Это исключение выбрасывается синхронно внутри геттера свойства и не может быть перехвачено обработчиками события error — его невозможно обработать без оборачивания каждого обращения к req.headersDistinct в try/catch.

Первопричина

Геттер headersDistinct накапливает значения заголовков в обычном объекте:

root@kitploit:~
const dest = {};
// ...
dest[name] = dest[name] || [];
dest[name].push(value);

Когда name === "__proto__":

  • dest["__proto__"] возвращает Object.prototype (истинное значение, не undefined)
  • Инициализация через || [] пропускается
  • .push(value) вызывается на Object.prototype → TypeError: dest[name].push is not a function
  • Синхронное исключение выходит за границы обработки ошибок цикла событий и приводит к аварийному завершению процесса

Файлы

ФайлОписание
server.jsУязвимый HTTP-сервер (обращается к req.headersDistinct напрямую)
poc.jsЭксплойт для подтверждения уязвимости

Использование

Только для авторизованных исследований безопасности / ответственного раскрытия.

Запуск уязвимого сервера

root@kitploit:~
node server.js
# Прослушивание на http://127.0.0.1:3000

Запуск POC

root@kitploit:~
node poc.js

Ожидаемый результат:

  1. Шаг 1 — обычный запрос выполняется успешно (HTTP 200).
  2. Шаг 2 — отправляется заголовок __proto__; сервер аварийно завершается с неперехваченной TypeError.
  3. Шаг 3 — последующий запрос получает ошибку соединения, что подтверждает аварийное завершение.

Ссылки

  • NVD — CVE-2026-21710
  • Мартовские обновления безопасности Node.js 2026
Скачать инструмент