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 `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
https://github.com/Jaenact/gspd_cve/blob/main/CVE-2025-67269/README.md
Weaknesses
134c704f-9b21-4f2e-91b3-4a467353bcc0
CVSS impact metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
7.5 · High
Information
Source identifier
Vulnerability status
Analyzed
Published
2026-01-02T16:17:01.100Z
1 week agoLast modified
2026-01-09T22:07:39.427Z
5 days ago