Podatności Libevent
15 znanych podatności CVE w Libevent, przetłumaczonych i ocenionych.
- 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.
- CVE-2026-63384Wysokie
Libevent przed wersjami 2.1.13 i 2.2.2-alpha ma nieprawidłową konwersję liczb całkowitych w event_tagging.c, gdy evtag_unmarshal_header używa evtag_decode_int do zdekodowania długości ładunku uint32 kontrolowanej przez atakującego i zwraca ją jako signed int. Wartości powyżej INT_MAX stają się ujemne lub obcięte, a evtag_unmarshal_string może użyć przekonwertowanej wartości do rozmiaru alokacji, powodując zawinięte duże żądanie alokacji i odmowę usługi. Problem został naprawiony w wersjach 2.1.13 i 2.2.2-alpha.
- CVE-2026-63383Wysokie
Libevent przed wersjami 2.1.13 i 2.2.2-alpha może czytać poza ciągłym regionem evbuffer w event_tagging.c, gdy decode_tag_internal żąda maksymalnie pięciu bajtów z evbuffer_pullup, ale iteruje używając pełnej logicznej długości bufora. Pofragmentowany evbuffer zawierający sześciobajtowy uszkodzony tag może więc przesunąć się poza okno pullup i wywołać odczyt poza zakresem, co może spowodować awarię procesu dekodującego kontrolowane przez atakującego tagowane dane RPC. Problem został naprawiony w wersjach 2.1.13 i 2.2.2-alpha.
- CVE-2026-63381Średnie
Libevent to biblioteka powiadomień o zdarzeniach. Przed wersjami 2.1.13 i 2.2.2-alpha libevent ma use-after-free w buffer.c, gdy evbuffer_add_buffer_reference przetwarza bufor wyjściowy, którego out_total_len wynosi zero. evbuffer_free_all_chains zwalnia początkowy pusty łańcuch bez resetowania outbuf->first, outbuf->last lub outbuf->last_with_datap, a APPEND_CHAIN_MULTICAST następnie dereferencjonuje wiszący wskaźnik łańcucha. Osoba wywołująca, która może sterować tym stanem bufora, może spowodować uszkodzenie pamięci lub awarię procesu. Problem naprawiono w wersjach 2.1.13 i 2.2.2-alpha.
- CVE-2026-63380Średnie
Libevent przed wersją 2.2.2-alpha może wyłuskać nieprawidłowe wskaźniki listy w pliku ws.c, gdy funkcja evws_new_session wejdzie w ścieżkę błędu po udanym evhttp_start_ws_ i nieudanym bufferevent_enable_locking_. Może to spowodować awarię procesu.
- CVE-2026-63379Średnie
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ą.

