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.

Related CPE's


Weaknesses


134c704f-9b21-4f2e-91b3-4a467353bcc0

Secondary

CWE-191

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

[email protected]

Vulnerability status

Analyzed

Published

2026-01-02T16:17:01.100Z

1 week ago

Last modified

2026-01-09T22:07:39.427Z

5 days ago