Перехватчик кэша undici неправильно обрабатывает необязательные пробелы, помещенные вокруг знака равенства в квалифицированной директиве no-cache или частной директиве Cache-Control. В версиях undici от 7.0.0 до 7.29.0 и от 8.0.0 до 8.9.0 синтаксический анализатор либо отбрасывает директиву, либо сохраняет имя поля с буквальными символами кавычек, поэтому решение кэша не может распознать квалификацию, и ответ сохраняется. В режиме общего кэша это позволяет передавать ответ, содержащий аутентифицированные данные одного пользователя, из кэша следующему вызывающему абоненту, включая неаутентифицированный, когда оба запроса разрешаются в один и тот же ключ кэша.
Это влияет на приложения, которые включают перехватчик кэша в общем режиме, пересылают заголовки авторизации в восходящий поток и получают кэшируемые ответы с квалифицированными директивами, дополненными пробелами вокруг знака равенства. Это вариант с пробелами вокруг равного, который не был нормализован исправлением CVE-2026-9678, и он исправлен в версиях undici 7.29.0 и 8.9.0.
Показать оригинальное описание (EN)
undici's cache interceptor mishandles optional whitespace placed around the equals sign of a qualified no-cache or private Cache-Control directive. In undici from 7.0.0 up to before 7.29.0 and from 8.0.0 up to before 8.9.0, the parser either drops the directive or stores a field name with literal quote characters, so the cache decision fails to recognize the qualification and the response is stored. In shared-cache mode, this lets a response containing one user's authenticated data be served from cache to a later caller, including an unauthenticated one, when both requests resolve to the same cache key. It affects applications that enable the cache interceptor in shared mode, forward Authorization headers upstream, and receive cacheable responses with qualified directives padded with whitespace around the equals sign. This is the whitespace-around-equals variant that the fix for CVE-2026-9678 did not normalize, and it is fixed in undici 7.29.0 and 8.9.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
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
|