CVE-2026-63379
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
Libevent przed wersjami 2.1.13 i 2.2.2-alpha przetwarza chunked HTTP trailery w pliku http.c i scala je z nagłówkami żądania. Zdalny atakujący może umieścić wrażliwe pola w trailerach, co prowadzi do różnic w interpretacji nagłówków między proxy a aplikacją.
Ocena ryzyka
Podatność umożliwia przemycanie nagłówków, obejście autoryzacji, fałszowanie nagłówków proxy lub zatruwanie pamięci podręcznej, co może prowadzić do naruszenia bezpieczeństwa danych.
Rekomendacja
Zaleca się aktualizację do wersji 2.1.13 lub 2.2.2-alpha, które zawierają poprawkę polegającą na odrzucaniu trailerów zamiast ich scalania.
Inne podatności w Libevent
Zobacz wszystkie- CVE-2016-10197Wysokie
Funkcja search_make_new w pliku evdns.c w libevent przed wersją 2.1.6-beta umożliwia atakującym spowodowanie odmowy usługi (odczyt poza zakresem) poprzez podanie pustej nazwy hosta.
- CVE-2016-10196Wysokie
W funkcji evutil_parse_sockaddr_port w pliku evutil.c w libevent przed wersją 2.1.6-beta występuje przepełnienie bufora na stosie. Atakujący mogą spowodować awarię usługi (błąd segmentacji) poprzez wykorzystanie długiego ciągu w nawiasach w argumencie ip_as_string.
- CVE-2015-6525Wysokie
Wielokrotne przepełnienia całkowite w API evbuffer w Libevent 2.0.x przed wersją 2.0.22 oraz 2.1.x przed wersją 2.1.5-beta mogą pozwolić atakującym na wywołanie odmowy usługi lub inny nieokreślony wpływ poprzez 'niesamowicie duże dane wejściowe'.
- CVE-2014-6272Wysokie
Wielokrotne przepełnienia całkowite w API evbuffer w Libevent 1.4.x przed 1.4.15, 2.0.x przed 2.0.22 i 2.1.x przed 2.1.5-beta mogą umożliwić atakującym uzależnionym od kontekstu spowodowanie odmowy usługi lub innego nieokreślonego wpływu poprzez 'niesamowicie duże dane wejściowe'.
- CVE-2026-63385Krytyczne
Podatność w Libevent przed wersjami 2.1.13 i 2.2.2-alpha obejmuje dwie słabości w parsowaniu HTTP w pliku http.c. Funkcja evhttp_decode_uri_internal dekoduje procentowo zakodowane bajty %00 na dosłowne znaki NUL, co może powodować obcinanie ścieżki i ominięcie walidacji. Funkcja evhttp_header_is_valid_value akceptuje przestarzałe składanie linii w wartościach nagłówków zawierających CR lub LF, co umożliwia interpretację nagłówków w różny sposób przez proxy i Libevent.
- CVE-2026-63382Krytyczne
Libevent przed wersjami 2.1.13 i 2.2.2-alpha nieprawidłowo obsługuje zduplikowane nagłówki Transfer-Encoding, wartości rozdzielane przecinkami oraz gołe znaki nowej linii w ramkach chunked. Może to prowadzić do desynchronizacji żądań i przemycania drugiego żądania przez niezautentyfikowanego zdalnego atakującego, gdy Libevent jest wdrożony za proxy.
- CVE-2016-10195Krytyczne
Funkcja name_parse w pliku evdns.c w libevent przed wersją 2.1.6-beta umożliwia zdalnym atakującym wywołanie nieokreślonego wpływu poprzez wektory związane z zmienną label_len, co prowadzi do odczytu stosu poza dozwolonym zakresem.
- CVE-2026-63495Wysokie
Libevent to biblioteka do powiadamiania o zdarzeniach. Od wersji 2.2.0-alpha-dev do 2.2.2-alpha serwer WebSocket w pliku ws.c gromadzi pofragmentowane ramki w evws->incomplete_frames bez egzekwowania limitu całkowitego rozmiaru wiadomości. Nieuwierzytelniony zdalny klient może wielokrotnie wysyłać pofragmentowane ramki WebSocket poniżej WS_MAX_RECV_FRAME_SZ z FIN=0, powodując nieograniczony wzrost evbuffer aż do wyczerpania pamięci procesu lub hosta. Problem został naprawiony w wersji 2.2.2-alpha.
- CVE-2026-63388Wysokie
Libevent przed wersjami 2.1.13 i 2.2.2-alpha ma podatność zapisu poza zakresem na stercie w bufferevent_sock.c, gdy bufferevent_socket_set_conn_address_ kopiuje adres peer AF_UNIX dostarczony przez jądro do bufferevent_private.conn_address. Wersje wydaniowe skompilowane z NDEBUG wyłączają zabezpieczenie EVUTIL_ASSERT, a ścieżka akceptacji evhttp może przekazać 110-bajtowy sockaddr z accept() do 28-bajtowego pola. Nieuwierzytelniony lokalny peer, który może połączyć się z nasłuchem AF_UNIX, może nadpisać sąsiedni wskaźnik dns_request i dane na stercie, powodując uszkodzenie pamięci z wpływem na poufność, integralność i dostępność. Problem został naprawiony w wersjach 2.1.13 i 2.2.2-alpha.
- CVE-2026-63387Wysokie
Libevent przed wersjami 2.1.13 i 2.2.2-alpha ma przepełnienie bufora na stosie off-by-one w evdns.c, gdy dnsname_to_labels formatuje rekord DNS z nazwą na końcu 64 KB bufora stosu przydzielonego przez evdns_server_request_format_response. Ostatnia kontrola etykiety pozwala, aby j plus label_len plus jeden równało się buf_len, po czym bajt null jest zapisywany do buf[buf_len]. Spreparowana odpowiedź serwera DNS zawierająca dane PTR, CNAME, MX, NS lub SOA może wywołać zapis o jeden bajt poza zakresem i spowodować awarię lub uszkodzenie procesu. Problem został naprawiony w wersjach 2.1.13 i 2.2.2-alpha.
Oryginalny opis (angielski, źródło NVD)
Libevent is an event notification library. Prior to 2.1.13 and 2.2.2-alpha, libevent processes chunked HTTP trailers in http.c through evhttp_read_trailer and merges them into request headers. The fix introduces evhttp_parse_headers_impl_ and a temporary trailer header list. An unauthenticated remote attacker can place security-sensitive fields in trailers so that an upstream proxy and the libevent application interpret different effective headers, enabling header smuggling, authorization bypass, proxy-header spoofing, or cache poisoning. The fix parses trailers into a temporary header list and discards them instead of merging them into req->input_headers. This issue is fixed in versions 2.1.13 and 2.2.2-alpha.

