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-80255Nieznane
Nagłówek Set-Cookie używający tabulatora (ASCII 9) zamiast spacji (ASCII 32) bezpośrednio przed atrybutem Secure powoduje, że curl zapisuje cookie bez flagi Secure. Cookie może być następnie błędnie wysyłane przez zwykły HTTP przy kolejnych żądaniach do tego samego hosta.
- CVE-2022-27775Wysokie
W curl w wersjach od 7.65.0 do 7.82.0 występuje podatność na ujawnienie informacji, która pozwala na ponowne wykorzystanie połączenia przy użyciu adresu IPv6 z innego identyfikatora strefy.
- CVE-2022-22576Wysokie
W curl w wersjach od 7.33.0 do 7.82.0 występuje podatność związana z niewłaściwą autoryzacją, która może pozwolić na ponowne użycie połączeń uwierzytelnionych OAUTH2 bez odpowiedniego sprawdzenia, czy połączenie zostało uwierzytelnione tymi samymi poświadczeniami. Dotyczy to protokołów z obsługą SASL: SMPTP(S), IMAP(S), POP3(S) oraz LDAP(S) (tylko openldap).
- 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-2024-11053Niskie
Gdy curl jest proszony o użycie pliku `.netrc` do uwierzytelnienia oraz o podążanie za przekierowaniami HTTP, może wyciec hasło użyte dla pierwszego hosta do hosta docelowego po przekierowaniu w pewnych okolicznościach. Problem występuje tylko, jeśli plik netrc zawiera wpis pasujący do hosta docelowego.
- CVE-2024-8096Średnie
Gdy curl ma używać rozszerzenia TLS Certificate Status Request (OCSP stapling) do weryfikacji certyfikatu serwera, może nie wykryć niektórych problemów OCSP i błędnie uznać odpowiedź za poprawną, jeśli zwrócony status zgłasza inny błąd niż oczekiwany.
- CVE-2026-8926Krytyczne
Podatność w curl powoduje, że przy użyciu pliku .netrc do uwierzytelniania oraz podaniu adresu URL z nazwą użytkownika (bez hasła), curl może błędnie pobrać i użyć hasła innego użytkownika z tego pliku dla tego samego hosta.
- 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
Podatność w bibliotece curl umożliwia złośliwemu serwerowi HTTP ustawienie 'super ciasteczek', które omijają sprawdzanie Publicznej Listy Sufiksów. Pozwala to atakującemu na wstrzyknięcie ciasteczek, które curl następnie przesyła do niezwiązanych domen stron trzecich.
- CVE-2026-12064Wysokie
Podatność w curl powoduje, że przy użyciu schemeless URL z `--proto-default sftp` (lub scp) warstwa narzędzia pomija inicjalizację opcji bezpieczeństwa SSH, takich jak CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 i CURLOPT_SSH_KNOWNHOSTS, podczas gdy libcurl nawiązuje połączenie SFTP/SCP. W rezultacie curl łączy się z niezweryfikowanym hostem SSH bez zgłaszania błędu.
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.

