CVE-2026-63380
ŚrednieCVSS 5.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Lokalny atakujący, który może wywołać błąd alokacji lub blokady, może doprowadzić do awarii procesu, co może skutkować przerwaniem działania usługi.
Rekomendacja
Zaleca się aktualizację do wersji 2.2.2-alpha lub nowszej, która zawiera poprawkę.
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.2.2-alpha, libevent can dereference invalid list pointers in ws.c when evws_new_session enters its error path after evhttp_start_ws_ succeeds but bufferevent_enable_locking_ fails. evws_connection_free sees a non-null http_server and unconditionally calls TAILQ_REMOVE even though the session was never inserted into http_server->ws_sessions. A local caller able to induce this allocation or locking failure can crash the process. This issue is fixed in version 2.2.2-alpha.

