CVE-2025-55181
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
Wysłanie ciała żądania/odpowiedzi HTTP o rozmiarze większym niż 2^31 bajtów wywołuje nieskończoną pętlę w proxygen::coro::HTTPQuicCoroSession, która blokuje pętlę zdarzeń i bezwarunkowo dołącza dane do std::vector w każdej iteracji. Prowadzi to do nieograniczonego wzrostu pamięci i ostatecznie do wyczerpania pamięci procesu.
Ocena ryzyka
Atakujący może zdalnie wywołać wyczerpanie pamięci, powodując awarię usługi (denial of service) i niedostępność systemu.
Rekomendacja
Zaktualizuj bibliotekę proxygen do wersji zawierającej poprawkę lub ogranicz maksymalny rozmiar ciała żądania/odpowiedzi HTTP. Monitoruj zużycie pamięci i w razie potrzeby restartuj usługę.
Inne podatności w proxygen
Zobacz wszystkie- CVE-2026-91096Wysokie
W bibliotece proxygen (wersje od v2024.10.28.00 do v2026.09.28.00) funkcja WebTransportImpl::terminateSessionStreams (w wydaniach przed v2025.08.18.00 nazwana WebTransportImpl::destroy) nie wyrejestrowywała callbacków odczytu dla strumieni, które nie były już otwarte, przed ich zniszczeniem. W efekcie transport mógł wywołać callback odczytu, który został już zwolniony.
- CVE-2026-91095Średnie
W bibliotece proxygen (wersje od v2024.10.28.00 do v2026.09.28.00) API HTTPTransaction::onWebTransportUniStream i HTTPTransaction::onWebTransportBidiStream mogły zwracać uchwyty strumieni, które zostały już zwolnione przez obsługę strumienia. HQSession następnie instalował te uchwyty jako callbacki odczytu transportu, co mogło prowadzić do użycia zwolnionej pamięci.
- CVE-2026-84895Wysokie
W bibliotece proxygen (wersje od v2026.04.06.00 do v2026.09.28.00) metoda QuicWtSession::closeSession uzyskuje dostęp do swoich pól po wywołaniu metody bazowej QuicWtSessionBase::closeSession. Metoda bazowa powiadamia obsługę sesji, która może zwolnić ostatnie odwołanie do sesji i ją zniszczyć.
- CVE-2026-44909Wysokie
Proxygen nie posiadał ogólnego mechanizmu wykrywania wolnych konsumentów w warstwie sesji HTTP. Zdalny, nieuwierzytelniony atakujący może wykorzystać kontrolę przepływu HTTP/2, ustawiając SETTINGS_INITIAL_WINDOW_SIZE na 0 lub wstrzymując ramki WINDOW_UPDATE, powodując buforowanie całych treści odpowiedzi w pamięci dla zablokowanych strumieni. Otwierając wiele równoczesnych strumieni żądających dużych zasobów, atakujący może doprowadzić do nieograniczonego wzrostu pamięci, degradacji usługi, wyczerpania zasobów lub odmowy usługi.
Oryginalny opis (angielski, źródło NVD)
Sending an HTTP request/response body with greater than 2^31 bytes triggers an infinite loop in proxygen::coro::HTTPQuicCoroSession which blocks the backing event loop and unconditionally appends data to a std::vector per-loop iteration. This issue leads to unbounded memory growth and eventually causes the process to run out of memory.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

