CVE-2026-9679
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacje mogą być narażone na ataki, które umożliwiają wstrzykiwanie złośliwych nagłówków do odpowiedzi HTTP, co może prowadzić do poważnych naruszeń bezpieczeństwa, takich jak kradzież sesji użytkowników.
Rekomendacja
Zaleca się aktualizację do wersji undici v6.26.0, v7.28.0 lub v8.5.0. Jeśli aktualizacja nie jest możliwa, należy najpierw oczyścić wartości zwracane przez parseSetCookie/parseCookie/getSetCookies przed ich przekazaniem do nagłówków odpowiedzi.
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-9678Średnie
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.
- 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 cookie parser in parseSetCookie percent-decodes cookie values via qsUnescape, turning encoded sequences like %0D%0A, %00, %3B, and %3D into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode either. Applications that parse a Set-Cookie header and then forward the parsed value into a response header (proxies, middleware, SSR frameworks) become vulnerable to HTTP response header injection: an attacker-controlled upstream can inject arbitrary Set-Cookie, Location, or Cache-Control headers into the application's downstream response, enabling session fixation, open redirect, or cache poisoning. Affected applications are those that use undici's cookie parsing (parseSetCookie, parseCookie, getSetCookies) and forward the parsed cookie value into a response header. This was introduced in undici 7.0.0 via PR #3789. Patches: Upgrade to undici v6.26.0, v7.28.0 or v8.5.0. Workarounds: If upgrade is not immediately possible, do not forward values returned by parseSetCookie/parseCookie/getSetCookies directly into response headers; sanitize the value first to strip or reject CR, LF, NUL, ;, and = bytes.

