CRLF Injection in Nodejs ‘undici’ via Content-Type
undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection_ on headers when using unsanitized input as request headers, more specifically, inside the `content-type` header. Example: ``` import { request } from 'undici' const unsanitizedContentTypeInput = 'application/json\r\n\r\nGET /foo2 HTTP/1.1' await request('http://localhost:3000, { method: 'GET', headers: { 'content-type': unsanitizedContentTypeInput }, }) ``` The above snippet will perform two requests in a single `request` API call: 1) `http://localhost:3000/` 2) `http://localhost:3000/foo2` This issue was patched in Undici v5.8.1. Sanitize input when sending content-type headers using user input as a workaround.
- Опубликовано
- 15 авг. 2022 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 1,3 % · 69-й процентиль
- CWE
- CWE-74
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
21
Наблюдать
Пока низкий приоритет.
- CVSS
- 21 / 40 · 5.3 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 1,3 %
Решение CISA SSVC
- Эксплуатация
- proof of concept
- Автоматизируемо
- да
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- 5,3
- CNA · GitHub_M
- 5,3
- совпадают
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| nodejs | undici | cpe:2.3:a:nodejs:undici |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- nodejs undiciдо 5.8.2
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
nodejs undici
- =< 5.8.0затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | node-undici | до 5.8.2+dfsg1+~cs18.9.18.1-1 | 5.8.2+dfsg1+~cs18.9.18.1-1 |
| npm | undici | до 5.8.2 | 5.8.2 |
| SUSE:Linux Enterprise Module for Web and Scripting 12 | nodejs16 | до 16.17.0-8.9.1 | 16.17.0-8.9.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP3 | nodejs16 | до 16.17.0-150300.7.9.1 | 16.17.0-150300.7.9.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP3 | nodejs16 | до 16.17.0-150300.7.9.1 | 16.17.0-150300.7.9.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 | nodejs16 | до 16.17.0-150400.3.6.1 | 16.17.0-150400.3.6.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 | nodejs16 | до 16.17.0-150400.3.6.1 | 16.17.0-150400.3.6.1 |
Тот же продукт
nodejs: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2022-35949`undici.request` vulnerable to SSRF using absolute URL on `pathname`40В плане
- CVE-2026-1525undici is vulnerable to Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')39Наблюдать
- CVE-2026-84961undici vulnerable to TLS certificate validation bypass via dropped connect options in BalancedPool36Наблюдать
- CVE-2026-13697undici vulnerable to cross-user information disclosure and parse-time crash via degenerate private cache directives36Наблюдать
- CVE-2026-6734undici vulnerable to cross-origin request routing via SOCKS5 proxy pool reuse35Наблюдать
- CVE-2026-84933undici vulnerable to cross-user cookie disclosure via Set-Cookie caching in shared caches32Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Debian:node-undici | 5.8.2+dfsg1+~cs18.9.18.1-1 · Debian:12 | Реестр пакетов (OSV) |
| npm:undici | 5.8.2 | Реестр пакетов (OSV) |
| openSUSE:nodejs16 | 16.17.0-150400.3.6.1 · openSUSE:Leap 15.4 | Реестр пакетов (OSV) |
| SUSE:nodejs16 | 16.17.0-150400.3.6.1 · SUSE:Linux Enterprise Module for Web and Scripting 15 SP4 | Реестр пакетов (OSV) |
| SUSE:nodejs16 | 16.17.0-8.9.1 · SUSE:Linux Enterprise Module for Web and Scripting 12 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Вендор продукта присутствует в публичной программе. Сопоставление по имени; проверьте текст scope в программе.
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- низкое · данные или конфигурация могут быть изменены
- Доступность
- нет
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Низкое
- Влияние на доступность
- Нет
Класс уязвимости (CWE)
CWE-74 · Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- Buffer Overflow via Environment VariablesCAPEC-10вероятность: High · High
- Server Side Include (SSI) InjectionCAPEC-101вероятность: High · High
- HTTP Request SplittingCAPEC-105вероятность: Medium · High
- Command Line Execution through SQL InjectionCAPEC-108вероятность: Low · Very High
- Double EncodingCAPEC-120вероятность: Low · Medium
- Subverting Environment Variable ValuesCAPEC-13вероятность: High · Very High
- Format String InjectionCAPEC-135вероятность: High · High
- Client-side Injection-induced Buffer OverflowCAPEC-14вероятность: Medium · High
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- github.com/nodejs/undici/commit/66165d604fd0aee70a93ed5c44ad4cc2df395f80
- github.com/nodejs/undici/releases/tag/v5.8.2
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.