CVE-2026-91096
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Może dojść do użycia zwolnionej pamięci (use-after-free), co potencjalnie prowadzi do awarii aplikacji lub wykonania dowolnego kodu przez atakującego. Dotyczy to usług korzystających z WebTransport w proxygen.
Rekomendacja
Zaktualizuj proxygen do wersji v2026.09.28.00 lub nowszej, która zawiera poprawkę. Jeśli aktualizacja nie jest możliwa, rozważ wyłączenie WebTransport do czasu wdrożenia poprawki.
Inne podatności w proxygen
Zobacz wszystkie- 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.
- CVE-2025-55181Średnie
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.
Oryginalny opis (angielski, źródło NVD)
In proxygen from v2024.10.28.00 until v2026.09.28.00, WebTransportImpl::terminateSessionStreams (WebTransportImpl::destroy in releases before v2025.08.18.00) failed to unregister read callbacks for streams that were no longer open before destroying them. The transport could then invoke a read callback that had been freed.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

