CVE-2025-9901
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
W bibliotece libsoup znaleziono błąd w mechanizmie buforowania SoupCache, który ignoruje nagłówek HTTP Vary podczas oceny buforowanych odpowiedzi. Nagłówek ten zapewnia, że odpowiedzi różnią się odpowiednio w zależności od nagłówków żądania, takich jak język czy uwierzytelnienie. Bez tego sprawdzenia buforowana treść może być nieprawidłowo ponownie wykorzystywana w różnych żądaniach, potencjalnie ujawniając wrażliwe dane użytkownika.
Ocena ryzyka
Ryzyko polega na potencjalnym naruszeniu poufności danych w środowiskach proxy lub wieloużytkownikowych, gdzie buforowane odpowiedzi mogą być serwowane nieuprawnionym użytkownikom. Problem jest mało prawdopodobny w typowym użyciu desktopowym, ale w specyficznych konfiguracjach może prowadzić do wycieku informacji.
Rekomendacja
Zaleca się aktualizację biblioteki libsoup do wersji zawierającej poprawkę usuwającą tę podatność. W środowiskach proxy lub wieloużytkownikowych należy rozważyć tymczasowe wyłączenie buforowania SoupCache do czasu zastosowania aktualizacji.
Inne podatności w libsoup
Zobacz wszystkie- CVE-2025-32911Krytyczne
W bibliotece libsoup odkryto podatność typu use-after-free w funkcji soup_message_headers_get_content_disposition(). Umożliwia ona złośliwemu klientowi HTTP wywołanie uszkodzenia pamięci w serwerze libsoup.
- CVE-2026-85534Średnie
W bibliotece libsoup wykryto podatność związaną z brakiem kontroli granic podczas przesyłania treści żądania HTTP/2 z nieodpytywalnego strumienia wejściowego. Złośliwy serwer HTTP/2 może zmniejszyć rozmiar okna przepływu (SETTINGS_INITIAL_WINDOW_SIZE) podczas trwającego buforowanego odczytu, co prowadzi do skopiowania pełnego bufora do mniejszego wywołania zwrotnego DATA bez kontroli granic, co może przerwać działanie procesu lub spowodować niepowodzenie sesji HTTP/2.
- CVE-2026-85197Wysokie
W bibliotece libsoup wykryto podatność use-after-free w implementacji klienta HTTP/2. Złośliwy serwer HTTP/2 lub atakujący typu man-in-the-middle może wykorzystać tę podatność, gdy aplikacja GNOME wysyła plik przez HTTP/2, a serwer wysyła ramkę GOAWAY podczas asynchronicznego odczytu treści pliku. Może to prowadzić do uszkodzenia pamięci, wycieku informacji lub wykonania dowolnego kodu.
- CVE-2026-77680Średnie
W bibliotece libsoup występuje podatność na atak typu „odmowa usługi” (CPU exhaustion) związana z przetwarzaniem nagłówka HTTP Range. Mimo poprawki CVE-2025-32907, scalanie wielu identycznych zakresów w pętli wykonuje operacje O(N²), co przy maksymalnym rozmiarze nagłówka (~100 KiB) pozwala na zablokowanie pętli zdarzeń serwera na około 90 ms na żądanie. Podatność jest osiągalna po stronie serwera bez uwierzytelniania.
- CVE-2026-77014Średnie
W libsoup, w przetwarzaniu nagłówka HTTP Range w SoupServer, funkcja sort_ranges() obcina wynik odejmowania 64-bitowego do 32-bitowej liczby całkowitej, co powoduje błędne sortowanie zakresów dla plików większych niż ~2 GB. Prowadzi to do pomijania żądanych zakresów w odpowiedziach HTTP 206 Partial Content.
- CVE-2026-66339Średnie
W bibliotece libsoup po ustanowieniu tunelu CONNECT przez proxy HTTP, nagłówek Proxy-Authorization jest nieprawidłowo dołączany do kolejnych żądań HTTPS wysyłanych przez ten tunel do serwera docelowego. Pozwala to serwerowi docelowemu na przechwycenie danych uwierzytelniających proxy.
- CVE-2026-66338Średnie
W bibliotece libsoup parser kodowania transferu fragmentarycznego (chunked transfer encoding) używa permisywnej funkcji parsowania rozmiaru fragmentu, która akceptuje dane niezgodne z RFC 9112, w tym początkowe białe znaki, prefiksy plusa i końcowe nieprawidłowe znaki. Gdy libsoup działa za rygorystycznym proxy, ta różnica w parsowaniu może być wykorzystana do przemycania żądań HTTP.
- CVE-2026-66337Średnie
W bibliotece libsoup niedopełnienie liczby całkowitej bez znaku w funkcji soup_filter_input_stream_read_until() powoduje odczyt poza zakresem bufora sterty podczas parsowania wieloczęściowych odpowiedzi HTTP. Złośliwy serwer HTTP może wysłać spreparowaną odpowiedź, powodując awarię aplikacji klienckiej lub ujawnienie poufnych danych z pamięci sterty.
- CVE-2026-12548Średnie
W bibliotece libsoup odkryto wadę odczytu poza zakresem sterty. Podczas parsowania wieloczęściowych wiadomości HTTP, niezgodność typów całkowitych między wywołującym a funkcją soup_headers_parse() może spowodować nieprawidłowe obcięcie parametru długości, prowadząc do odczytu poza zakresem bufora sterty. Zdalny atakujący może wykorzystać tę wadę do spowodowania awarii aplikacji używającej libsoup lub potencjalnie ujawnić zawartość pamięci sterty.
- CVE-2026-15714Średnie
W bibliotece libsoup odkryto podatność polegającą na odczycie poza dozwolonym zakresem pamięci w mechanizmie przetwarzania multipart. Funkcja soup_multipart_input_stream_read_headers() nie ogranicza poprawnie rozmiaru ciągów granicznych (boundary), co może prowadzić do odczytu poza buforem. Zdalny, nieuwierzytelniony atakujący może wykorzystać tę lukę do spowodowania odmowy usługi (DoS) lub potencjalnie odczytu fragmentów pamięci.
Oryginalny opis (angielski, źródło NVD)
A flaw was found in libsoup’s caching mechanism, SoupCache, where the HTTP Vary header is ignored when evaluating cached responses. This header ensures that responses vary appropriately based on request headers such as language or authentication. Without this check, cached content can be incorrectly reused across different requests, potentially exposing sensitive user information. While the issue is unlikely to affect everyday desktop use, it could result in confidentiality breaches in proxy or multi-user environments.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

