CVE-2014-6272
WysokieStreszczenie
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'.
Ocena ryzyka
Atakujący mogą wykorzystać tę podatność do wywołania przepełnienia bufora w pamięci lub nieskończonej pętli, co prowadzi do odmowy usługi i potencjalnie innych skutków.
Rekomendacja
Zaleca się aktualizację Libevent do wersji 1.4.15, 2.0.22 lub 2.1.5-beta, aby zlikwidować tę podatność.
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-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.
Oryginalny opis (angielski, źródło NVD)
Multiple integer overflows in the evbuffer API in Libevent 1.4.x before 1.4.15, 2.0.x before 2.0.22, and 2.1.x before 2.1.5-beta allow context-dependent attackers to cause a denial of service or possibly have other unspecified impact via "insanely large inputs" to the (1) evbuffer_add, (2) evbuffer_expand, or (3) bufferevent_write function, which triggers a heap-based buffer overflow or an infinite loop. NOTE: this identifier has been SPLIT per ADT3 due to different affected versions. See CVE-2015-6525 for the functions that are only affected in 2.0 and later.

