GNU Wget w wersjach do 1.24.5 włącznie nieprawidłowo obsługuje znak średnika w podkomponencie userinfo adresu URI. Może to prowadzić do niebezpiecznego zachowania, w którym dane przeznaczone dla sekcji userinfo są błędnie traktowane jako część sekcji host.
▸ Pokaż oryginał (EN)
url.c in GNU Wget through 1.24.5 mishandles semicolons in the userinfo subcomponent of a URI, and thus there may be insecure behavior in which data that was supposed to be in the userinfo subcomponent is misinterpreted to be part of the host subcomponent.
Podatność wynika z nieprawidłowej interpretacji (CWE-436 — Interpretation Conflict) składni URI w pliku url.c. Gdy adres URL zawiera średnik w sekcji userinfo (część przed znakiem '@', zawierająca dane uwierzytelniające), Wget błędnie klasyfikuje fragment danych jako należący do podkomponentu host. Skutkuje to rozbieżnością między tym, co użytkownik lub skrypt zamierza przekazać jako dane logowania, a tym, z jakim hostem faktycznie nawiązywane jest połączenie.
Atakujący może spreparować złośliwy adres URL w taki sposób, aby Wget nawiązał połączenie z niezamierzonym hostem, co może prowadzić do ujawnienia poufnych danych (np. danych uwierzytelniających przesyłanych do kontrolowanego przez atakującego serwera) lub nieautoryzowanej modyfikacji pobieranych zasobów.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Poprawka została wprowadzona w repozytorium projektu (commit ed0c7c7e0e8f7298352646b2fd6e06a11e242ace w repozytorium GNU Wget na Savannah). Zalecana jest aktualizacja do wersji zawierającej wskazaną poprawkę.
GNU Wget w wersjach do 1.24.5 włącznie
Podatność została zgłoszona i opisana na liście dyskusyjnej bug-wget w czerwcu 2024 r. Debian wydał ogłoszenie dotyczące tej podatności w swoim kanale LTS w kwietniu 2025 r. (debian-lts-announce/2025/04).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NGnu Wget
APPGnu≤ 1.24.5
Powiązane podatności
Buffer overflow in GNU Wget 1.20.1 and earlier allows remote attackers to cause a denial-of-service (DoS) or m...
set_file_metadata in xattr.c in GNU Wget before 1.20.1 stores a file's origin URL in the user.xdg.origin.url m...
The retr.c:fd_read_body() function is called when processing OK responses. When the response is sent chunked i...
The http.c:skip_short_body() function is called in some circumstances, such as when processing redirects. When...
Race condition in wget 1.17 and earlier, when used in recursive or mirroring mode to download a single file, m...