W bibliotece curl w wersjach przed 7.88.0 mechanizm HSTS (HTTP Strict Transport Security) nie był poprawnie przenoszony między kolejnymi żądaniami wykonywanymi w ramach jednego wywołania. Skutkuje to tym, że połączenia, które powinny być automatycznie przekierowane na HTTPS, mogą być nawiązywane niezabezpieczonym protokołem HTTP, narażając transmitowane dane na przechwycenie.
▸ Pokaż oryginał (EN)
A cleartext transmission of sensitive information vulnerability exists in curl <v7.88.0 that could cause HSTS functionality fail when multiple URLs are requested serially. Using its HSTS support, curl can be instructed to use HTTPS instead of usingan insecure clear-text HTTP step even when HTTP is provided in the URL. ThisHSTS mechanism would however surprisingly be ignored by subsequent transferswhen done on the same command line because the state would not be properlycarried on.
Curl obsługuje HSTS, który nakazuje używanie HTTPS zamiast HTTP, nawet gdy użytkownik poda adres z protokołem HTTP. Podatność polega na tym, że stan HSTS nie jest prawidłowo przekazywany między kolejnymi transferami wykonywanymi szeregowo w jednym poleceniu. W efekcie pierwsze żądanie może respektować politykę HSTS i korzystać z HTTPS, jednak kolejne żądania do tych samych lub powiązanych hostów ignorują tę politykę i komunikują się przez niezaszyfrowany HTTP, przesyłając dane otwartym tekstem (cleartext).
Atakujący mogący podsłuchać ruch sieciowy (np. metodą man-in-the-middle) może przechwycić wrażliwe informacje — dane uwierzytelniające, tokeny sesji lub inne poufne dane — przesyłane niezaszyfrowanym połączeniem HTTP. Możliwa jest również modyfikacja przesyłanych danych.
Należy zaktualizować curl do wersji 7.88.0 lub nowszej, w której błąd został naprawiony. Użytkownicy produktów NetApp powinni zastosować patche wskazane w biuletynie bezpieczeństwa NetApp (ntap-20230309-0006) oraz zaleceniach dystrybucji (np. Gentoo GLSA 202310-12). Należy zastosować patche dostępne u producenta zgodnie z referencjami.
curl w wersjach poniżej 7.88.0 oraz produkty go wykorzystujące: NetApp Active IQ Unified Manager, NetApp Clustered Data ONTAP, NetApp H300S Firmware i NetApp H300S.
Podatność zgłoszona za pośrednictwem platformy HackerOne (raport #1813864). CVSS 9.1 (Critical) wynika z braku wymagań dotyczących uprawnień i interakcji użytkownika oraz sieciowego wektora ataku, jednak brak potwierdzenia aktywnego wykorzystania w środowiskach produkcyjnych (brak wpisu w CISA KEV).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NHaxx Curl
APPHaxx7.77.0 – 7.88.0 (bez)Netapp Active Iq Unified Manager
APPNetappwszystkie wersjeNetapp Clustered Data Ontap
APPNetapp9.0Netapp H300s
HWNetappwszystkie wersjeNetapp H300s Firmware
OSNetappwszystkie wersjeNetapp H410s
HWNetappwszystkie wersjeNetapp H410s Firmware
OSNetappwszystkie wersjeNetapp H500s
HWNetappwszystkie wersjeNetapp H500s Firmware
OSNetappwszystkie wersjeNetapp H700s
HWNetappwszystkie wersjeNetapp H700s Firmware
OSNetappwszystkie wersjeSplunk Universal Forwarder
APPSplunk9.1.08.2.0 – 8.2.12 (bez)9.0.0 – 9.0.6 (bez)
Powiązane podatności
AMI MegaRAC SPx — zdalne ominięcie uwierzytelnienia w interfejsie Redfish BMC
Apache Log4j2 Log4Shell — RCE przez podatną funkcję JNDI lookup
SSRF w mod_proxy Apache HTTP Server — przekierowanie żądań przez atakującego
Use-after-free w libcurl przy operacjach HTTP/2 stream-dependency
libcurl: błędna weryfikacja certyfikatu przy ponownym użyciu połączenia (CWE-295)