CVE-2026-58459
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 76 - wyżej niż 76% wszystkich znanych CVE
Streszczenie
W gpsd do wersji 3.27.5 (załatane w commicie 4c06658) wykryto podatność na wstrzykiwanie poleceń w narzędziu gpsprof. Atakujący kontrolujący wartość pola subtype urządzenia GPS może osadzić ładunek w backtickach w tytule wykresu gnuplot, co prowadzi do wykonania dowolnych poleceń powłoki podczas renderowania wykresu przez ofiarę.
Ocena ryzyka
Ryzyko polega na możliwości zdalnego wykonania dowolnych poleceń powłoki przez atakującego, który kontroluje dane z urządzenia GPS (np. poprzez fałszywe urządzenie lub przechwyconą komunikację). Może to prowadzić do przejęcia kontroli nad systemem użytkownika uruchamiającego gpsprof z gnuplot.
Rekomendacja
Należy natychmiast zaktualizować gpsd do wersji zawierającej commit 4c06658 lub nowszej. Jeśli aktualizacja nie jest możliwa, unikaj używania gpsprof z nieznanymi lub niezaufanymi źródłami danych GPS.
Inne podatności w gpsd
Zobacz wszystkie- CVE-2025-67268Krytyczne
W gpsd przed commit dc966aa wykryto podatność polegającą na zapisie poza dozwolonym obszarem pamięci sterty w pliku drivers/driver_nmea2000.c. Funkcja hnd_129540, obsługująca pakiety NMEA2000 PGN 129540, nie weryfikuje liczby satelitów podanej przez użytkownika względem rozmiaru tablicy skyview (184 elementy). Atakujący może podać liczbę satelitów do 255, co prowadzi do zapisu poza tablicą, powodując uszkodzenie pamięci, odmowę usługi (DoS) i potencjalnie wykonanie dowolnego kodu.
- CVE-2026-60122Wysokie
gpsd do wersji release-3.27.5 zawiera podatność na wstrzyknięcie kodu w narzędziu gpsprof, gdzie atakujący kontrolujący dane wejściowe GPS może wstrzyknąć złośliwe polecenia OS przez pole SKY.satellites[].used, które jest nieoczyszczone umieszczane w heredoc gnuplota.
- CVE-2025-67269Wysokie
W gpsd przed commit `ffa1d6f40bca0b035fc7f5e563160ebb67199da7` występuje podatność na niedomiar liczby całkowitej bez znaku w funkcji `nextstate()` w pliku `gpsd/packet.c`. Podczas parsowania pakietu NAVCOM długość ładunku jest obliczana jako `lexer->length = (size_t)c - 4` bez sprawdzenia, czy bajt wejściowy `c` jest mniejszy niż 4, co prowadzi do ustawienia bardzo dużej wartości i pętli konsumującej 100% CPU.
Oryginalny opis (angielski, źródło NVD)
gpsd through release-3.27.5, fixed at commit 4c06658, contains a command injection vulnerability in gpsprof that allows attackers who control the GPS device subtype value to execute arbitrary shell commands by embedding backtick payloads in the gnuplot plot title without proper escaping. The subtype field sourced from a DEVICES JSON log entry or NMEA PGRMT sentence is written into a generated gnuplot program via a set title statement with only double-quote characters escaped, enabling arbitrary shell command execution as the user running gnuplot when the victim renders the generated plot through the gpsprof and gnuplot workflow.

