CVE-2026-43966
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 38 - wyżej niż 38% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece cowlib (od wersji 2.9.0) polega na nieprawidłowej neutralizacji sekwencji CRLF w nagłówkach HTTP, co umożliwia atak typu HTTP response splitting. Funkcja cow_http_struct_hd:escape_string/2 w cowlib ucieka tylko znaki \ i ", przekazując wszystkie inne bajty bez zmian, co tworzy asymetrię między kodowaniem a dekodowaniem. Atakujący może wstrzyknąć \r\n do serializowanego nagłówka, co pozwala na dodanie nowych nagłówków i potencjalne rozdzielenie odpowiedzi HTTP.
Ocena ryzyka
Ryzyko obejmuje możliwość manipulacji odpowiedziami HTTP, co może prowadzić do wstrzykiwania treści, przejęcia sesji lub innych ataków typu response splitting. Podatność dotyczy aplikacji korzystających z cowlib do budowania nagłówków HTTP.
Rekomendacja
Zaleca się aktualizację cowlib do wersji zawierającej poprawkę dla tego problemu. Należy również dokładnie walidować dane wejściowe przed użyciem w funkcjach budowania nagłówków HTTP.
Inne podatności w cowlib
Zobacz wszystkie- CVE-2026-43971Średnie
Biblioteka cowlib (Erlang) w wersji od 2.9.0 do 2.20.0 nie escapuje wartości wstawianych do nagłówka Link: w funkcji cow_link:link/1. Znaki specjalne w URI, rel lub kluczach atrybutów mogą przedostać się do nagłówka, umożliwiając wstrzyknięcie dodatkowych dyrektyw Link. W efekcie przeglądarki ofiar mogą być zmuszone do wykonywania połączeń do zasobów kontrolowanych przez atakującego.
- CVE-2026-59248Wysokie
Podatność w bibliotece cowlib umożliwia nieuwierzytelnionemu zdalnemu atakującemu wyczerpanie pamięci serwera lub klienta poprzez wysłanie specjalnie spreparowanych ramek HTTP/2 lub HTTP/3. Problem wynika z braku ograniczeń w dekoderze HPACK i QPACK, który przetwarza dowolnie długie prefiksowane liczby całkowite, powodując alokację dużych obiektów bignum i intensywną pracę garbage collectora.
- CVE-2026-43970Wysokie
Podatność CVE-2026-43970 dotyczy niewłaściwego przetwarzania silnie skompresowanych danych w bibliotece cowlib, co może prowadzić do zdalnego ataku typu denial of service poprzez wyczerpanie pamięci. Umożliwia to nieautoryzowanym użytkownikom wysyłanie odpowiednio skonstruowanych ramek SPDY, które mogą spowodować znaczny wzrost zużycia pamięci.
- CVE-2026-43969Niskie
Biblioteka cowlib (Erlang) w funkcji cow_cookie:cookie/1 buduje nagłówek Cookie bez walidacji nazw i wartości ciasteczek. Pozwala to na wstrzyknięcie znaków ;, przecinka, CR, LF lub TAB, co umożliwia przemyt ciasteczek oraz podział żądań HTTP (request splitting). Problem dotyczy wersji od 2.9.0 do 2.21.0.
- CVE-2026-43968Średnie
Biblioteka cowlib w wersjach od 2.6.0 do 2.16.1 zawiera lukę wstrzykiwania CRLF, która pozwala na dzielenie i wstrzykiwanie zdarzeń SSE poprzez niezwalidowane wartości pól. Atakujący może wstrzyknąć dodatkowe linie SSE i sfałszować zdarzenie z dowolnym typem i danymi.
Oryginalny opis (angielski, źródło NVD)
Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting') vulnerability in ninenines cowlib allows HTTP response splitting via non-VCHAR bytes in structured-fields string values. cow_http_struct_hd:escape_string/2 in cowlib only escapes \ and ", passing all other bytes through verbatim. This creates an encoder/decoder asymmetry: the matching parser accepts only printable ASCII (0x20–0x7E, excluding " and \), but the encoder emits any byte including CR and LF. An application that builds a structured HTTP header via cow_http_struct_hd:item/1 (or a higher-level wrapper such as cow_http_hd:wt_protocol/1) from attacker-controlled input can have \r\n injected into the serialized header value. Once on the wire, the injected CRLF terminates the current header and any following bytes are interpreted as a new header, enabling HTTP response splitting. This issue affects cowlib: from 2.9.0 onward.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

