CVE-2025-10148
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
Kod WebSocket w curl nie aktualizował 32-bitowego wzorca maski dla każdej nowej wychodzącej ramki, zgodnie ze specyfikacją. Zamiast tego używał stałej maski przez cały czas trwania połączenia. Przewidywalny wzorzec maski umożliwia złośliwemu serwerowi wywołanie ruchu, który pośredniczące proxy może zinterpretować jako prawdziwy ruch HTTP i zatruć swój cache.
Ocena ryzyka
Zatrucie cache proxy może skutkować dostarczeniem złośliwej treści wszystkim użytkownikom tego proxy. Organizacje korzystające z curl w połączeniu z proxy HTTP są narażone na wstrzyknięcie fałszywych odpowiedzi.
Rekomendacja
Zaktualizuj curl/libcurl do wersji zawierającej poprawkę aktualizującą maskę WebSocket dla każdej ramki. Rozważ weryfikację integralności cache proxy w środowiskach korzystających z WebSocket przez proxy.
Inne podatności w curl
Zobacz wszystkie- CVE-2024-9681Średnie
Gdy curl ma używać HSTS, czas wygaśnięcia dla subdomeny może nadpisać wpis w pamięci podręcznej domeny nadrzędnej, powodując wcześniejsze lub późniejsze wygaśnięcie niż zamierzono. Dotyczy to aplikacji używających HSTS i adresów URL z niebezpiecznym schematem HTTP://.
- CVE-2026-94265Krytyczne
Podczas przetwarzania przekierowania HTTP do adresu URL zawierającego komponent userinfo (username:password) curl może błędnie zachować i ponownie przesłać stan uwierzytelniania HTTP Negotiate oryginalnego hosta. W efekcie złośliwy serwer może wymusić na curl wysłanie świeżo wygenerowanego biletu Kerberos do niezaufanego hosta trzeciego, omijając ograniczenia zakresu domeny normalnie wymuszane przez brak opcji --location-trusted.
- CVE-2026-87866Krytyczne
Przy kompilacji z wolfSSL curl może pomyślnie zweryfikować hash przypiętego klucza publicznego względem klucza, którego peer TLS nie posiada. Podczas uzgadniania TLS wolfSSL weryfikuje połączenie, ale późniejsze ponowne parsowanie tego samego certyfikatu przez curl — oszukane przez zmanipulowane pole długości ważności — wyodrębnia i dopasowuje inny osadzony klucz, niepoprawnie autoryzując przypięty klucz publiczny.
- CVE-2026-87861Krytyczne
Przy użyciu poświadczeń użytkownika w tle żądanie HTTP skierowane do jednego originu może zostać wysłane przez połączenie wcześniej uwierzytelnione przez Negotiate dla innego originu. W rezultacie zamierzone poświadczenia żądania pozostają nieużyte.
- CVE-2026-86414Krytyczne
Złośliwy serwer proxy HTTP może nakłonić libcurl do wysłania poświadczeń originu (hasła Basic lub biletu Negotiate/Kerberos) do samego proxy. Osiąga to, odpowiadając na żądanie tunelu CONNECT kodem 401 z nagłówkiem WWW-Authenticate zamiast oczekiwanego 407 Proxy-Authenticate.
- CVE-2026-86413Krytyczne
Przy użyciu użytkownika w tle w pierwszym transferze z uwierzytelnianiem Negotiate i żądaniem podążania za przekierowaniami curl może przekazać szczegóły poświadczeń do niepowiązanego drugiego originu. Może to nastąpić, gdy serwer zażąda przekierowania do innego originu.
- CVE-2026-86411Krytyczne
Transfer ftp:// skonfigurowany z CURLUSESSL_NONE może ponownie użyć połączenia kontrolnego FTP z puli, które wcześniej zostało uaktualnione przez STARTTLS i uwierzytelnione certyfikatem klienta. Drugi uchwyt nie wykonuje nowego uzgadniania TLS ani nowego logowania FTP, więc serwer nadal autoryzuje go pod tożsamością certyfikatu pierwszego uchwytu.
- CVE-2026-8926Krytyczne
Gdy curl używa pliku .netrc do znalezienia poświadczeń i jednocześnie podano URL z nazwą użytkownika (bez hasła), curl może błędnie pobrać i użyć hasła innego użytkownika z .netrc dla tego hosta, jeśli nie ma dopasowania dla podanego użytkownika.
- CVE-2026-8925Krytyczne
W bibliotece curl wykryto podwójne zwolnienie pamięci (double-free) w mechanizmie uwierzytelniania SASL. Błąd powoduje, że kontekst GSASL jest czyszczony dwukrotnie bez wyzerowania wskaźnika, co prowadzi do wywołania funkcji free() na tym samym obszarze pamięci.
- CVE-2026-8924Krytyczne
Błąd w logice parsowania ciasteczek w curl pozwala złośliwemu serwerowi HTTP ustawiać "super cookies", które omijają sprawdzanie Public Suffix List, umożliwiając wstrzykiwanie ciasteczek do niepowiązanych domen trzecich.
Oryginalny opis (angielski, źródło NVD)
curl's WebSocket code did not update the 32-bit mask pattern for each new outgoing frame as the specification says. Instead it used a fixed mask that persisted and was used throughout the entire connection. A predictable mask pattern allows for a malicious server to induce traffic between the two communicating parties that could be interpreted by an involved proxy (configured or transparent) as genuine, real, HTTP traffic with content and thereby poison its cache. That cached poisoned content could then be served to all users of that proxy.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

