Katalog CVE

CVE-2025-67269

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.47%

Percentyl 38 - wyżej niż 38% wszystkich znanych CVE

Streszczenie

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.

Ocena ryzyka

Atakujący może wysłać specjalnie spreparowany pakiet NAVCOM, powodując 100% wykorzystanie CPU i odmowę usługi (DoS), co uniemożliwia działanie serwera gpsd i aplikacji zależnych od danych GPS.

Rekomendacja

Należy natychmiast zaktualizować gpsd do wersji zawierającej commit `ffa1d6f40bca0b035fc7f5e563160ebb67199da7` lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do serwera gpsd tylko do zaufanych źródeł.

Inne podatności w gpsd

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

An integer underflow vulnerability exists in the `nextstate()` function in `gpsd/packet.c` of gpsd versions prior to commit `ffa1d6f40bca0b035fc7f5e563160ebb67199da7`. When parsing a NAVCOM packet, the payload length is calculated using `lexer->length = (size_t)c - 4` without checking if the input byte `c` is less than 4. This results in an unsigned integer underflow, setting `lexer->length` to a very large value (near `SIZE_MAX`). The parser then enters a loop attempting to consume this massive number of bytes, causing 100% CPU utilization and a Denial of Service (DoS) condition.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS