CVE-2025-67269
published 2026-01-02CVE-2025-67269: An integer underflow vulnerability exists in the `nextstate()` function in `gpsd/packet.c` of gpsd versions prior to commit…
PriorityP342high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
0.47%
37.1th percentile
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.
Affected
8 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | gpsd | < gpsd 3.22-4+deb11u1 (bullseye) | gpsd 3.22-4+deb11u1 (bullseye) |
| gpsd_project | gpsd | < 3.27.1 | 3.27.1 |
| gpsd_project | gpsd | >= 0 < 3.22-4+deb11u1 | 3.22-4+deb11u1 |
| gpsd_project | gpsd | >= 0 < 3.25-5+deb13u1 | 3.25-5+deb13u1 |
| gpsd_project | gpsd | >= 0 < 3.27.5-0.1 | 3.27.5-0.1 |
| gpsd_project | gpsd | >= 0 < 3.22-4ubuntu2.1 | 3.22-4ubuntu2.1 |
| gpsd_project | gpsd | >= 0 < 3.25-3ubuntu3.2 | 3.25-3ubuntu3.2 |
| gpsd_project | gpsd | >= 0 < 3.25-5ubuntu1.25.10.1 | 3.25-5ubuntu1.25.10.1 |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
osv9.8CRITICAL
vendor_ubuntu9.8CRITICAL
vendor_debian7.5HIGH
vendor_redhat7.5HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
gpsd vulnerabilities
osv·2026-01-08·CVSS 9.8
CVE-2025-67268 [CRITICAL] gpsd vulnerabilities
gpsd vulnerabilities
It was discovered that GPSd incorrectly handled processing NMEA2000
packets. An attacker could use this issue to cause GPSd to crash, resulting
in a denial of service, or possibly execute arbitrary code.
(CVE-2025-67268)
It was discovered that GPSd incorrectly handled processing NAVCOM packets.
An attacker could possibly use this issue to cause GPSd to consume
resources, resulting in a denial of service. (CVE-2025-67269)
OSV
CVE-2025-67269: An integer underflow vulnerability exists in the `nextstate()` function in `gpsd/packet
osv·2026-01-02·CVSS 7.5
CVE-2025-67269 [HIGH] CVE-2025-67269: An integer underflow vulnerability exists in the `nextstate()` function in `gpsd/packet
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.
GHSA
GHSA-xcj3-m9c5-2prq: An integer underflow vulnerability exists in the `nextstate()` function in `gpsd/packet
ghsa_unreviewed·2026-01-02
CVE-2025-67269 [HIGH] CWE-191 GHSA-xcj3-m9c5-2prq: An integer underflow vulnerability exists in the `nextstate()` function in `gpsd/packet
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.
Ubuntu
GPSd vulnerabilities
vendor_ubuntu·2026-01-08·CVSS 9.8
CVE-2025-67268 [CRITICAL] GPSd vulnerabilities
Title: GPSd vulnerabilities
Summary: Several security issues were fixed in GPSd.
It was discovered that GPSd incorrectly handled processing NMEA2000
packets. An attacker could use this issue to cause GPSd to crash, resulting
in a denial of service, or possibly execute arbitrary code.
(CVE-2025-67268)
It was discovered that GPSd incorrectly handled processing NAVCOM packets.
An attacker could possibly use this issue to cause GPSd to consume
resources, resulting in a denial of service. (CVE-2025-67269)
Instructions: In general, a standard system update will make all the necessary changes.
Red Hat
gpsd: gpsd: Denial of Service due to malformed NAVCOM packet parsing
vendor_redhat·2026-01-02·CVSS 7.5
CVE-2025-67269 [HIGH] CWE-191 gpsd: gpsd: Denial of Service due to malformed NAVCOM packet parsing
gpsd: gpsd: Denial of Service due to malformed NAVCOM packet parsing
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.
A flaw was found in gpsd. A remote attacker can exploit this vulnerability by sending a specially crafted NAVCOM packet. When parsing the pac
Debian
CVE-2025-67269: gpsd - An integer underflow vulnerability exists in the `nextstate()` function in `gpsd...
vendor_debian·2025·CVSS 7.5
CVE-2025-67269 [HIGH] CVE-2025-67269: gpsd - An integer underflow vulnerability exists in the `nextstate()` function in `gpsd...
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.
Scope: local
bookworm: open
bullseye: resolved (fixed in 3.22-4+deb11u1)
forky: resolved (fixed in 3.27.5-0.1)
sid: resolved (fixed in 3.27.5-0.1)
trixie: resolved (fixed in 3.25-5+deb13u1)
No detection rules found.
No public exploits indexed.
Wiz
CVE-2025-67269 Impact, Exploitability, and Mitigation Steps | Wiz
blogs_wiz·CVSS 7.5
CVE-2025-67269 [HIGH] CVE-2025-67269 Impact, Exploitability, and Mitigation Steps | Wiz
## CVE-2025-67269 :
NixOS vulnerability analysis and mitigation
nextstate()
gpsd/packet.c
ffa1d6f40bca0b035fc7f5e563160ebb67199da7
lexer->length = (size_t)c - 4
c
lexer->length
SIZE_MAX
Source : NVD
## 7.5
Score
Published January 2, 2026
Severity HIGH
CNA Score 7.5
Affected Technologies
NixOS
Rocky Linux
Has Public Exploit Yes
Has CISA KEV Exploit No
CISA KEV Release Date N/A
CISA KEV Due Date N/A
Exploitation Probability Percentile (EPSS) 30.3
Exploitation Probability (EPSS) 0.1
Affected packages and libraries
gpsd-qt-debuginfo
gpsd-xclients
Sources
NVD
AlmaLinux 9 Severity HIGH Has Fix Added at: Jan 21, 2026
Alpine 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.21 Severity HIGH No Fix Added at: Jan 11, 2026
Alpine 3.22, 3.23 Severity
Bugzilla
CVE-2025-67269 gpsd: gpsd: Denial of Service due to malformed NAVCOM packet parsing
bugzilla·2026-01-02·CVSS 7.5
CVE-2025-67269 [HIGH] CVE-2025-67269 gpsd: gpsd: Denial of Service due to malformed NAVCOM packet parsing
CVE-2025-67269 gpsd: gpsd: Denial of Service due to malformed NAVCOM packet parsing
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.
Discussion:
This issue has been addressed in the following products:
Red Hat Enterprise Linux 10
Via RHSA-2026:0770 https:/
https://github.com/Jaenact/gspd_cve/blob/main/CVE-2025-67269/README.mdhttps://gitlab.com/gpsd/gpsdhttps://gitlab.com/gpsd/gpsd/-/commit/ffa1d6f40bca0b035fc7f5e563160ebb67199da7https://access.redhat.com/errata/RHSA-2026:0770https://access.redhat.com/errata/RHSA-2026:0771https://access.redhat.com/security/cve/CVE-2025-67269https://bugzilla.redhat.com/show_bug.cgi?id=2426810https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-67269.json
2026-01-02
Published