CVE-2025-23167: A flaw in Node.js 20's HTTP parser allows improper termination of HTTP/1 headers using `\r\n\rX` instead of the required `\r\n\r\n`.
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 26/100)
- Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
- Вероятность эксплуатации в ближайшие 30 дней: 0,50% (FIRST EPSS).
- Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- По данным CISA атаку можно автоматизировать: цели находятся массовым сканированием.
- Исправленная версия: nodejs node 10.*, 11.*, 12.*; azl3 fluent-bit 3.1.9-4 on Azure Linux 3.0 CBL-Mariner Releases; cbl2 fluent-bit 3.0.6-2 on CBL Mariner 2.0 CBL-Mariner Releases.
Пока низкий приоритет. Обновитесь до nodejs node 10.*, 11.*, 12.*; azl3 fluent-bit 3.1.9-4 on Azure Linux 3.0 CBL-Mariner Releases; cbl2 fluent-bit 3.0.6-2 on CBL Mariner 2.0 CBL-Mariner Releases или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
A flaw in Node.js 20's HTTP parser allows improper termination of HTTP/1 headers using `\r\n\rX` instead of the required `\r\n\r\n`. This inconsistency enables request smuggling, allowing attackers to bypass proxy-based access controls and submit unauthorized requests. The issue was resolved by upgrading `llhttp` to version 9, which enforces correct header termination. Impact: * This vulnerability affects only Node.js 20.x users prior to the `llhttp` v9 upgrade.
- Опубликовано
- 18 мая 2025 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 0,5 % · 43-й процентиль
- CWE
- CWE-444
Инструменты для отчёта
Оценка срочности
26
Наблюдать
Пока низкий приоритет.
- CVSS
- 26 / 40 · 6.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,5 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- да
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · hackerone
- 6,5
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Есть PoC, боевого модуля нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
—
Используете node? Добавьте в свой стек и первыми узнавайте о подобных CVE. (Node.js)
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (hackerone). Не зависят от анализа CPE в NVD и обычно опережают его.
nodejs node
- 4.0 и новее · до 4.*затронута · semver
- 5.0 и новее · до 5.*затронута · semver
- 6.0 и новее · до 6.*затронута · semver
- 7.0 и новее · до 7.*затронута · semver
- 8.0 и новее · до 8.*затронута · semver
- 9.0 и новее · до 9.*затронута · semver
- 10.0 и новее · до 10.*затронута · semver
- 11.0 и новее · до 11.*затронута · semver
- 12.0 и новее · до 12.*затронута · semver
- 13.0 и новее · до 13.*затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | node-undici | с 0 | — |
| Debian:14 | node-undici | до 7.15.0+dfsg+~cs3.2.0-1 | 7.15.0+dfsg+~cs3.2.0-1 |
| openSUSE:Leap 15.6 | nodejs20 | до 20.19.2-150600.3.12.1 | 20.19.2-150600.3.12.1 |
| Red Hat:enterprise_linux:8::appstream | nodejs | до 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-debuginfo | до 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-debugsource | до 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-devel | до 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-docs | до 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-full-i18n | до 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 | 1:20.19.2-1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-nodemon | до 0:3.0.1-1.module+el8.10.0+23139+21ba74c5 | 0:3.0.1-1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-packaging | до 0:2021.06-4.module+el8.10.0+23139+21ba74c5 | 0:2021.06-4.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | nodejs-packaging-bundler | до 0:2021.06-4.module+el8.10.0+23139+21ba74c5 | 0:2021.06-4.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:8::appstream | npm | до 1:10.8.2-1.20.19.2.1.module+el8.10.0+23139+21ba74c5 | 1:10.8.2-1.20.19.2.1.module+el8.10.0+23139+21ba74c5 |
| Red Hat:enterprise_linux:9::appstream | nodejs | до 1:20.19.2-1.module+el9.6.0+23146+be9976bd | 1:20.19.2-1.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-debuginfo | до 1:20.19.2-1.module+el9.6.0+23146+be9976bd | 1:20.19.2-1.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-debugsource | до 1:20.19.2-1.module+el9.6.0+23146+be9976bd | 1:20.19.2-1.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-devel | до 1:20.19.2-1.module+el9.6.0+23146+be9976bd | 1:20.19.2-1.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-docs | до 1:20.19.2-1.module+el9.6.0+23146+be9976bd | 1:20.19.2-1.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-full-i18n | до 1:20.19.2-1.module+el9.6.0+23146+be9976bd | 1:20.19.2-1.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-nodemon | до 0:3.0.1-1.module+el9.6.0+23146+be9976bd | 0:3.0.1-1.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-packaging | до 0:2021.06-4.module+el9.6.0+23146+be9976bd | 0:2021.06-4.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | nodejs-packaging-bundler | до 0:2021.06-4.module+el9.6.0+23146+be9976bd | 0:2021.06-4.module+el9.6.0+23146+be9976bd |
| Red Hat:enterprise_linux:9::appstream | npm | до 1:10.8.2-1.20.19.2.1.module+el9.6.0+23146+be9976bd | 1:10.8.2-1.20.19.2.1.module+el9.6.0+23146+be9976bd |
| Rocky Linux:8 | nodejs | до 1:20.19.2-1.module+el8.10.0+1988+437f3d23 | 1:20.19.2-1.module+el8.10.0+1988+437f3d23 |
+35
Тот же продукт
nodejs: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2024-27983An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 f58В плане
- CVE-2025-27210An incomplete fix has been identified for CVE-2025-23084 in Node.js, specifically affecting Windows device names like CON, PRN, and AUX.34Наблюдать
- CVE-2024-27980Due to the improper handling of batch files in child_process.spawn / child_process.spawnSync, a malicious command line argument can inject a32Наблюдать
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2025-2316518 мая 2025 г. · In Node.js, the `ReadFileUtf8` internal binding leaks memory due to a corrupted pointer in `uv_fs_s.file`: a UTF-16 path buffer is allocated14Наблюдать
- ← РаньшеCVE-2025-2316618 мая 2025 г. · The C++ method SignTraits::DeriveBits() may incorrectly call ThrowException() based on user-supplied inputs when executing in a background t30Наблюдать
- Позже →CVE-2025-2720918 июл. 2025 г. · The V8 release used in Node.js v24.0.0 has changed how string hashes are computed using rapidhash.30Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| nodejs node | 10.* | Вендор (CNA) |
| nodejs node | 11.* | Вендор (CNA) |
| nodejs node | 12.* | Вендор (CNA) |
| nodejs node | 13.* | Вендор (CNA) |
| nodejs node | 14.* | Вендор (CNA) |
| nodejs node | 15.* | Вендор (CNA) |
| nodejs node | 16.* | Вендор (CNA) |
| nodejs node | 17.* | Вендор (CNA) |
| nodejs node | 18.* | Вендор (CNA) |
| nodejs node | 19.* | Вендор (CNA) |
| nodejs node | 4.* | Вендор (CNA) |
| nodejs node | 5.* | Вендор (CNA) |
| nodejs node | 6.* | Вендор (CNA) |
| nodejs node | 7.* | Вендор (CNA) |
| nodejs node | 8.* | Вендор (CNA) |
| nodejs node | 9.* | Вендор (CNA) |
| azl3 fluent-bit 3.1.9-4 on Azure Linux 3.0 | CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 fluent-bit 3.0.6-2 on CBL Mariner 2.0 | CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 nodejs18 18.20.3-12 on CBL-Mariner 2.0 | Release Notes | Microsoft (MSRC) |
| debian:node-undici | 7.15.0+dfsg+~cs3.2.0-1 · Debian:14 | Реестр пакетов (OSV) |
| opensuse:nodejs20 | 20.19.2-150600.3.12.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| red hat:nodejs | 1:20.19.2-1.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-debuginfo | 1:20.19.2-1.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-debugsource | 1:20.19.2-1.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-devel | 1:20.19.2-1.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-docs | 1:20.19.2-1.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-full-i18n | 1:20.19.2-1.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-nodemon | 0:3.0.1-1.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-packaging | 0:2021.06-4.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-packaging-bundler | 0:2021.06-4.module+el9.6.0+23146+be9976bd · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
+8
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Репозиторий PoC на GitHub ×1
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Репозиторий PoC на GitHub | stars:1 | 2025-07-15 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Первый PoC+57 дн.
- Сегодня26 окт. 2026 г.+525 дн.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2024-27982с разницей 376 дн.The team has identified a critical vulnerability in the http server of the most recent version of Node, where malformed headers can lead to 26Наблюдать
- CVE-2026-58044с разницей 443 дн.A flaw in Node.js HTTP client can cause a request desynchronization for Node.js-based forwarding proxies that rebuild outbound headers from 14Наблюдать
- CVE-2026-48932с разницей 470 дн.A flaw in Node.js HTTP client can cause a request desynchronization for Node.js-based forwarding proxies that rebuild outbound headers from 14Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Вендор продукта присутствует в публичной программе. Сопоставление по имени; проверьте текст scope в программе.
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- низкое · данные могут быть прочитаны
- Целостность
- низкое · данные или конфигурация могут быть изменены
- Доступность
- нет
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Низкое
- Влияние на целостность
- Низкое
- Влияние на доступность
- Нет
Класс уязвимости (CWE)
CWE-444 · Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')Вектор CVSS
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
nvd-secondary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.