GNU Wget w wersjach do 1.25.0 włącznie zawiera podatność typu heap buffer underread w funkcji clean_metalink_string(), która może zostać wywołana przez złośliwy serwer. Atakujący serwer może doprowadzić do uszkodzenia pamięci poprzez serwowanie dokumentu Metalink zawierającego URL składający się wyłącznie ze znaków białych.
▸ Pokaż oryginał (EN)
GNU Wget through 1.25.0, fixed in commit 37a40fc, contains a heap buffer underread vulnerability in the clean_metalink_string() function within src/metalink.c that allows a malicious server to trigger memory corruption by serving a Metalink document containing a whitespace-only URL. Attackers can cause the function to decrement a pointer past the start of the buffer when processing an all-whitespace Metalink URL, potentially leading to abnormal program behavior.
Podatność tkwi w funkcji clean_metalink_string() w pliku src/metalink.c. Gdy funkcja przetwarza URL z pliku Metalink zawierający wyłącznie znaki białe (whitespace), dokonuje dekrementacji wskaźnika poza początek bufora w pamięci sterty (heap). Prowadzi to do odczytu spoza granic bufora (out-of-bounds read, CWE-125), czyli zjawiska określanego jako heap buffer underread. Wystarczy, że użytkownik pobierze plik Metalink z kontrolowanego przez atakującego serwera, aby wyzwolić ten błąd.
Atakujący może wywołać nieprawidłowe zachowanie programu, w tym jego awaryjne zakończenie (crash), co skutkuje odmową usługi (DoS). W zależności od środowiska uruchomieniowego uszkodzenie pamięci może potencjalnie prowadzić do dalszych, nieprzewidywalnych konsekwencji.
Należy zaktualizować GNU Wget do wersji zawierającej commit 37a40fcb450153f69537c7cbc2a7a4fb0b6f7826 lub zastosować patche dostępne u producenta zgodnie z referencjami. Jako środek tymczasowy należy unikać pobierania plików Metalink z niezaufanych serwerów.
GNU Wget w wersjach do 1.25.0 włącznie (podatność usunięta w commicie 37a40fc).
Poprawka została wprowadzona w repozytorium GitLab projektu GNU Wget jako commit 37a40fcb450153f69537c7cbc2a7a4fb0b6f7826. Podatność dotyczy wyłącznie funkcjonalności obsługi plików Metalink.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XGnu Wget
APPGnu≤ 1.25.0
Powiązane podatności
GNU Wget — błędna interpretacja średnika w sekcji userinfo URI
Buffer overflow w GNU Wget — RCE lub DoS przez sieć
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...