undici не проверяет свойство типа тела запроса, похожего на BLOB-объект, перед использованием его в качестве заголовка Content-Type в диспетчере HTTP/1.1. В версиях до 6.28.0, с 7.0.0 до 7.29.0 и с 8.0.0 до 8.9.0 приложение, передающее созданное вручную тело в виде BLOB-объекта (через запрос, поток, конвейер или диспетчеризацию), тип которого получен из ненадежных входных данных, позволяет злоумышленнику внедрять последовательности CRLF и добавлять произвольные заголовки HTTP, потенциально переправляя второй запрос мимо восходящего потока. Собственные объекты Blob безопасны, поскольку их конструктор удаляет CRLF из типа, а выборка не затрагивается, поскольку она проверяет заголовки, но библиотеки экосистемы, которые создают формы BLOB-объектов с утиным типом на основе пользовательского ввода, могут добраться до уязвимого пути.
Это тот же класс дефектов, что и CVE-2022-35948 и CVE-2026-1527, в приемнике заголовка, который не покрывался предыдущими исправлениями. Проблема исправлена в версиях undici 6.28.0, 7.29.0 и 8.9.0.
Показать оригинальное описание (EN)
undici does not validate the type property of a duck-typed blob-like request body before using it as the Content-Type header on the HTTP/1.1 dispatcher. In undici before 6.28.0, from 7.0.0 up to before 7.29.0, and from 8.0.0 up to before 8.9.0, an application that passes a hand-rolled blob-like body (via request, stream, pipeline, or dispatch) whose type is derived from untrusted input allows an attacker to inject CRLF sequences and append arbitrary HTTP headers, potentially smuggling a second request past the upstream. Native Blob objects are safe because their constructor strips CRLF from the type, and fetch is unaffected because it validates headers, but ecosystem libraries that build duck-typed blob shapes from user input can reach the vulnerable path. This is the same defect class as CVE-2022-35948 and CVE-2026-1527, on a header sink that the earlier fixes did not cover. The issue is fixed in undici 6.28.0, 7.29.0, and 8.9.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Nodejs Undici
cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*
|
— |
6.28.0
|
|
Nodejs Undici
cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*
|
7.0.0
|
7.29.0
|
|
Nodejs Undici
cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*
|
8.0.0
|
8.9.0
|