CVE Catalog

CVE-2025-67269

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.47%

38th percentile - higher than 38% of all known CVEs

Summary

In gpsd versions prior to commit `ffa1d6f40bca0b035fc7f5e563160ebb67199da7`, an unsigned integer underflow exists in the `nextstate()` function in `gpsd/packet.c`. When parsing a NAVCOM packet, the payload length is calculated as `lexer->length = (size_t)c - 4` without checking if the input byte `c` is less than 4, resulting in a very large value and a loop consuming 100% CPU.

Risk Assessment

An attacker can send a crafted NAVCOM packet, causing 100% CPU utilization and a Denial of Service (DoS), which disrupts the gpsd server and applications relying on GPS data.

Recommendation

Immediately update gpsd to a version containing commit `ffa1d6f40bca0b035fc7f5e563160ebb67199da7` or later. If updating is not possible, restrict access to the gpsd server to trusted sources only.

Other vulnerabilities in gpsd

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS