CVE-2025-67269
Published: 02 January 2026
Summary
CVE-2025-67269 is a high-severity Wrap or Wraparound (CWE-191) vulnerability in Gpsd Project Gpsd. Its CVSS base score is 7.5 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 49.8th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
Threat & Defense at a Glance
Threat & Defense Details
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Remote unauthenticated network exploitation of the integer underflow in gpsd directly enables T1190 (public-facing application) leading to application DoS via resource exhaustion (T1499.004).
NVD Description
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…
more
`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.
Deeper analysisAI
An integer underflow vulnerability, tracked as CVE-2025-67269, affects the `nextstate()` function in `gpsd/packet.c` within gpsd versions prior to commit `ffa1d6f40bca0b035fc7f5e563160ebb67199da7`. The issue arises during parsing of a NAVCOM packet, where the payload length is computed as `lexer->length = (size_t)c - 4` without verifying if the input byte `c` is less than 4. This triggers an unsigned integer underflow, assigning `lexer->length` a value near `SIZE_MAX`, and carries a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), mapped to CWE-191 (Integer Underflow).
Attackers can exploit this remotely over the network without authentication or user interaction by sending a specially crafted NAVCOM packet to a gpsd instance. Upon processing, the parser enters a loop attempting to consume an enormous number of bytes, resulting in 100% CPU utilization and a denial-of-service condition that renders the service unresponsive.
Mitigation involves updating gpsd to a version incorporating commit `ffa1d6f40bca0b035fc7f5e563160ebb67199da7` or later, available via the project's GitLab repository. Additional details are documented in the associated GitHub advisory at https://github.com/Jaenact/gspd_cve/blob/main/CVE-2025-67269/README.md.
Details
- CWE(s)