Podatność heap-based out-of-bounds write (CWE-122) w projekcie gpsd umożliwia atakującemu zdalne wykonanie kodu (RCE) lub wywołanie awarii usługi (DoS) poprzez spreparowane pakiety NMEA2000. Błąd dotyczy wersji gpsd sprzed commitu dc966aa i otrzymał ocenę CVSS 9.8 (CRITICAL).
▸ Pokaż oryginał (EN)
gpsd before commit dc966aa contains a heap-based out-of-bounds write vulnerability in the drivers/driver_nmea2000.c file. The hnd_129540 function, which handles NMEA2000 PGN 129540 (GNSS Satellites in View) packets, fails to validate the user-supplied satellite count against the size of the skyview array (184 elements). This allows an attacker to write beyond the bounds of the array by providing a satellite count up to 255, leading to memory corruption, Denial of Service (DoS), and potentially arbitrary code execution.
Funkcja hnd_129540 w pliku drivers/driver_nmea2000.c przetwarza pakiety NMEA2000 PGN 129540 (GNSS Satellites in View) bez walidacji liczby satelitów podanej przez użytkownika względem rozmiaru tablicy skyview (184 elementy). Atakujący może dostarczyć wartość liczby satelitów do 255, co powoduje zapis poza granicami tablicy na stercie (heap). Skutkuje to uszkodzeniem pamięci (memory corruption), które może zostać wykorzystane do wykonania dowolnego kodu lub spowodowania awarii procesu.
Atakujący może spowodować awarię usługi gpsd (DoS) lub potencjalnie wykonać dowolny kod na systemie z uprawnieniami procesu gpsd. Ze względu na brak wymagań uwierzytelnienia oraz sieciowy wektor ataku zagrożenie jest szczególnie poważne.
Należy zaktualizować gpsd do wersji zawierającej commit dc966aa74c075d0a6535811d98628625cbfbe3f4 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp sieciowy do usługi gpsd na poziomie firewall oraz rozważyć wyłączenie obsługi interfejsów NMEA2000 do czasu zastosowania patcha.
gpsd (Gpsd Project) we wszystkich wersjach sprzed commitu dc966aa w repozytorium ntpsec/gpsd
Poprawka dostępna w commicie dc966aa74c075d0a6535811d98628625cbfbe3f4 w repozytorium ntpsec/gpsd. Szczegóły techniczne i opis podatności opublikowane w repozytorium: https://github.com/Jaenact/gspd_cve/blob/main/CVE-2025-67268/README.md
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGpsd Project Gpsd
APPGpsd Project< 3.27.1
Powiązane podatności
An integer underflow vulnerability exists in the `nextstate()` function in `gpsd/packet.c` of gpsd versions pr...
gpsd versions 2.90 to 3.17 and microjson versions 1.0 to 1.3, an open source project, allow a stack-based buff...
An integer underflow vulnerability exists in the NTRIP Stream Parsing functionality of GPSd 3.25.1~dev. A spec...
The NMEA0183 driver in gpsd before 3.9 allows remote attackers to cause a denial of service (daemon terminatio...