CVE-2023-38545
KrytyczneStreszczenie
Podatność CVE-2023-38545 dotyczy przepełnienia bufora w pamięci sterty podczas handshake'u proxy SOCKS5 w narzędziu curl. Problem występuje, gdy curl przekazuje zbyt długą nazwę hosta do proxy, co prowadzi do nieprawidłowego kopiowania danych.
Ocena ryzyka
Wykorzystanie tej podatności może prowadzić do nieautoryzowanego dostępu do pamięci, co zagraża integralności i poufności danych w systemach korzystających z curl.
Rekomendacja
Zaleca się aktualizację curl do najnowszej wersji, która zawiera poprawki zabezpieczeń, aby zminimalizować ryzyko związane z tą podatnością.
Inne podatności w curl
Zobacz wszystkie- CVE-2026-94265Nieznane
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-92390Nieznane
Przy użyciu opcji --remote-header-name (-J) curl nie zachowuje udokumentowanej ochrony przed nadpisaniem pliku, jeśli pośrednia odpowiedź 103 Early Hints poprzedza końcową odpowiedź HTTP lub jeśli nagłówek ETag jest przetwarzany przed Content-Disposition w trybie --etag-save. Wada pozwala serwerowi HTTP(S) nadpisać istniejący plik lokalny wskazany w nagłówku Content-Disposition mimo ograniczenia -J.
- CVE-2026-92386Nieznane
Podczas zapisu długiej nazwy i wartości cookie do pliku cookie jar w formacie Netscape zdalny serwer HTTP może spowodować, że curl zapisze rekord przekraczający limit długości linii parsera. W konsekwencji każde kolejne wywołanie curl czytające z tego samego pliku cookie jar przez --cookie po cichu przerywa parsowanie na zbyt długiej linii, ignorując wszystkie kolejne prawidłowe cookies w pliku.
- CVE-2026-87866Nieznane
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-87864Nieznane
Włączenie CURLOPT_CRLF powoduje, że curl ogłasza w literale IMAP APPEND {N} surową liczbę bajtów wejściowych, podczas gdy przesyła dane z rozszerzonymi końcami linii. Serwer odczytuje tylko N bajtów ładunku, powodując że pozostałe nadmiarowe bajty są interpretowane i wykonywane jako wstrzyknięte polecenia IMAP w uwierzytelnionej sesji.
- CVE-2026-87863Nieznane
Złośliwe lub błędne źródło HTTPS może podać wartość HSTS max-age, którą parser akceptuje, ale której serializacja czasu później nie przetwarza. Na systemach 64-bitowych skrajne wartości max-age powodują przekroczenie granic struktur czasu kalendarzowego. Podczas zapisu cache plik HSTS jest obcinany przed zapisem pliku tymczasowego, a błąd serializacji jest po cichu ignorowany, co prowadzi do utraty danych przy jednoczesnym pomyślnym zakończeniu curl.
- CVE-2026-87862Nieznane
Importowanie wpisu HSTS nadrzędnego z includeSubDomains przed wpisem podrzędnym o dłuższym czasie ważności powoduje ciche odrzucenie wpisu podrzędnego. Gdy wpis nadrzędny wygaśnie, ważna polityka HSTS podrzędna zostaje utracona, a curl wykonuje niezaszyfrowane żądania HTTP zamiast aktualizacji do HTTPS.
- CVE-2026-87861Nieznane
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-86415Nieznane
Funkcja dopasowania cache połączeń libcurl nie uwzględnia opcji automatycznego certyfikatu klienta, więc uwierzytelnione połączenie Schannel z cache może zostać przekazane transferowi przekierowanemu do innego originu. Dzieje się tak mimo jawnego wyłączenia opcji automatycznego certyfikatu klienta dla tego transferu.
- CVE-2026-86414Nieznane
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.
Oryginalny opis (angielski, źródło NVD)
This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake. When curl is asked to pass along the host name to the SOCKS5 proxy to allow that to resolve the address instead of it getting done by curl itself, the maximum length that host name can be is 255 bytes. If the host name is detected to be longer, curl switches to local name resolving and instead passes on the resolved address only. Due to this bug, the local variable that means "let the host resolve the name" could get the wrong value during a slow SOCKS5 handshake, and contrary to the intention, copy the too long host name to the target buffer instead of copying just the resolved address there. The target buffer being a heap based buffer, and the host name coming from the URL that curl has been told to operate with.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

