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.
References
| Link | Resource |
|---|---|
| https://github.com/Jaenact/gspd_cve/blob/main/CVE-2025-67269/README.md | Exploit Third Party Advisory |
| https://gitlab.com/gpsd/gpsd | Product |
| https://gitlab.com/gpsd/gpsd/-/commit/ffa1d6f40bca0b035fc7f5e563160ebb67199da7 | Patch |
Configurations
History
No history.
Information
Published : 2026-01-02 16:17
Updated : 2026-01-09 22:07
NVD link : CVE-2025-67269
Mitre link : CVE-2025-67269
CVE.ORG link : CVE-2025-67269
JSON object : View
Products Affected
gpsd_project
- gpsd
CWE
CWE-191
Integer Underflow (Wrap or Wraparound)
