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 39.2th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified are NIST 800-53 SC-5 (Denial-of-service Protection) and SI-10 (Information Input Validation).
Deeper analysis
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.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-0658
Vulnerability details
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.
- CWE(s)
Related Threats
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).
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Requires timely remediation of flaws, such as patching gpsd to the fixed commit to eliminate the integer underflow vulnerability.
Implements protections against denial-of-service events like CPU exhaustion from malformed NAVCOM packets causing infinite parsing loops.
Mandates validation of information inputs to block processing of invalid NAVCOM packet lengths that trigger unsigned integer underflow.