CVE-2026-9678
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
Podatność w Undici pozwala na nieprawidłowe klasyfikowanie odpowiedzi jako cache'owalne, gdy nagłówki Cache-Control zawierają białe znaki. Może to prowadzić do sytuacji, w której dane uwierzytelnionego użytkownika są serwowane innemu użytkownikowi z pamięci podręcznej.
Ocena ryzyka
Organizacje mogą być narażone na ujawnienie danych uwierzytelnionych użytkowników, co stanowi poważne zagrożenie dla prywatności i bezpieczeństwa danych.
Rekomendacja
Zaleca się aktualizację do wersji undici v7.28.0 lub v8.5.0. Jeśli aktualizacja nie jest możliwa, należy wyłączyć tryb pamięci podręcznej dla ruchu zawierającego nagłówki Authorization.
Inne podatności w Undici
Zobacz wszystkie- CVE-2026-15157Średnie
W bibliotece undici przed wersjami 6.28.0, 7.29.0 i 8.9.0 nie jest walidowana właściwość 'type' w obiektach blobopodobnych tworzonych ręcznie. Atakujący może wstrzyknąć znaki CRLF i dodać dowolne nagłówki HTTP, co może prowadzić do przemycenia drugiego żądania (request smuggling).
- CVE-2026-14643Średnie
W undici przed wersjami 7.29.0 i 8.9.0, interceptor pamięci podręcznej (cache interceptor) nieprawidłowo obsługuje opcjonalne białe znaki wokół znaku równości w dyrektywie Cache-Control. Może to spowodować przechowywanie w pamięci podręcznej odpowiedzi zawierających dane uwierzytelnionego użytkownika i serwowanie ich innym użytkownikom.
- CVE-2026-16728Średnie
W undici przed wersjami 6.28.0, 7.29.0 i 8.9.0, interceptor ponawiania (retry interceptor) może dostarczyć odpowiedź, której długość treści nie zgadza się z nagłówkiem Content-Length. Może to prowadzić do desynchronizacji odpowiedzi, zawieszenia połączenia lub uszkodzenia odpowiedzi u klienta końcowego.
- CVE-2026-16729Średnie
Funkcja setCookie w bibliotece undici przed wersjami 6.28.0, 7.29.0 i 8.9.0 nie w pełni oczyszcza atrybutów ciasteczek. Wartość domeny nie jest sprawdzana pod kątem średników, a wpisy w nieprzetworzonej tablicy nie są oczyszczane, co pozwala atakującemu na wstrzyknięcie dodatkowych atrybutów, takich jak SameSite, HttpOnly czy Secure, bez wiedzy wywołującego.
- CVE-2026-13697Wysokie
W undici przed wersjami 7.29.0 i 8.9.0, interceptor pamięci podręcznej nieprawidłowo obsługuje nieprawidłowe dyrektywy Cache-Control private. Odpowiedź z prywatną dyrektywą o pustej wartości może być przechowywana w współdzielonej pamięci podręcznej i udostępniana innym użytkownikom, ujawniając prywatne dane. Ponadto połączenie niekwalifikowanej i kwalifikowanej dyrektywy private powoduje błąd TypeError, który może przerwać działanie procesu.
- CVE-2026-9697Wysokie
Podatność w bibliotece undici powoduje, że opcja requestTls jest ignorowana przy użyciu ProxyAgent z proxy SOCKS5. Połączenie HTTPS przez tunel SOCKS5 korzysta z domyślnego magazynu zaufania Node.js zamiast z konfiguracji użytkownika.
- CVE-2026-9679Średnie
Parser ciasteczek w undici (parseSetCookie) dekoduje wartości ciasteczek, co może prowadzić do wstrzykiwania nagłówków odpowiedzi HTTP. Aplikacje, które przekazują przetworzone wartości ciasteczek do nagłówków odpowiedzi, stają się podatne na ataki, takie jak przejęcie sesji czy złośliwe przekierowania.
- CVE-2026-6734Wysokie
W bibliotece undici wykryto podatność polegającą na ponownym wykorzystaniu pojedynczej puli połączeń przez Socks5ProxyAgent dla różnych źródeł (originów) bez weryfikacji zgodności. Powoduje to kierowanie żądań do niewłaściwego serwera, wyciek danych uwierzytelniających oraz potencjalne obniżenie poziomu bezpieczeństwa HTTPS do HTTP.
- CVE-2026-11525Niskie
Podatność w bibliotece undici polega na nieprawidłowym parsowaniu atrybutu SameSite w nagłówkach Set-Cookie. Biblioteka akceptuje dowolną wartość zawierającą podciąg 'Strict', 'Lax' lub 'None', zamiast wymaganego przez RFC 6265 dokładnego dopasowania bez względu na wielkość liter. Może to prowadzić do przypisania słabszej polityki SameSite, np. wartość 'NoneOfYourBusiness' jest interpretowana jako 'None' (najbardziej permisywne ustawienie).
- CVE-2026-12151Wysokie
Klient WebSocket biblioteki undici nie ogranicza liczby fragmentów wiadomości, co pozwala złośliwemu serwerowi na wysłanie wielu małych ramek kontynuacji. Prowadzi to do niekontrolowanego wzrostu pamięci i wyczerpania zasobów (DoS).
Oryginalny opis (angielski, źródło NVD)
Impact: Undici's cache interceptor incorrectly classifies some responses as cacheable when the upstream Cache-Control header uses whitespace-padded qualified private or no-cache field names such as private=" authorization" or no-cache="\tauthorization". The parser preserves the surrounding whitespace, so later comparisons against the literal authorization field name fail and the response is stored. In shared-cache mode, this allows a response containing one user's authenticated data to be served from cache to a subsequent caller, including an unauthenticated caller, when both requests resolve to the same cache key. Affected applications are those that explicitly enable the cache interceptor (interceptors.cache()) in shared mode, forward Authorization headers upstream, and receive cacheable responses with non-canonical qualified private or no-cache directives. Patches: Upgrade to undici v7.28.0 or v8.5.0. Workarounds: If upgrade is not immediately possible, disable shared-cache mode for traffic that includes Authorization headers, avoid caching responses to authenticated requests, or add Vary: Authorization upstream.

