CVE-2026-15461: zephyrproject zephyr · memory-safety
Affects zephyrproject zephyrSource CVE Database V5
Not known to be exploited · CVSS 5.3 Medium.
Data as of 10/25/2026, 16:58:55 UTC
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 15% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 10 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wild: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 2026-10-25.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| zephyrprojectzephyr | Affected
| Fixed in
|
GitHubzephyrpkg:github/zephyrOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Until an official fix is available, consider disabling the satellites feature (CONFIG_GNSS_SATELLITES) or the HL78xx GNSS NMEA source (CONFIG_HL78XX_GNSS_SOURCE_NMEA) if feasible to reduce exposure. Monitor vendor channels for updates and apply official patches once released.
Description
The Sierra Wireless HL78xx modem GNSS driver (drivers/modem/hl78xx/, later drivers/modem/vendor_standalone/hl78xx/) embeds a generic struct gnss_nmea0183_match_data match_data inside struct hl78xx_gnss_data. The generic NMEA0183 match helper (drivers/gnss/gnss_nmea0183_match.c) requires that context to be the first member because its callbacks cast user_data directly to struct gnss_nmea0183_match_data . In the affected releases match_data was the second member (after const struct device dev), so it sat at a non-zero offset while gnss_nmea0183_match_init() initialized it at the correct address. The registered NMEA handlers instead pass the whole device data object (data->devices.gnss->data, offset 0), producing an offset-shifted type confusion between where state is initialized and where the parse callbacks read and write it. When NMEA sentences from the GNSS receiver are parsed, the GGA/RMC callbacks write parsed fix data into the wrong location within the struct, and the GSV callback (gnss_nmea0183_match_gsv_callback, active under CONFIG_GNSS_SATELLITES) reads its satellites pointer and bound from the wrong offsets — non-pointer bytes of struct hl78xx_gnss_data — and then writes parsed struct gnss_satellite entries through that bogus pointer. This is a write through an uninitialized/wild pointer with a garbage bound. The NMEA handlers are registered by default (CONFIG_HL78XX_GNSS_SOURCE_NMEA is the default GNSS source) on devices using the HL78xx GNSS. The driver runs in kernel context and the NMEA data originates from the GNSS radio front-end, so a party able to influence the GNSS signal (for example GNSS/GPS spoofing at radio proximity) can drive the kernel-side parser into the faulty write. The most likely impact is a crash (denial of service) because the bogus pointer resolves to a fixed near-NULL value, with adjacent-memory corruption possible on MMU-less targets. Confidentiality is not affected. Exploitation requires the satellites feature to be enabled and active, so attack complexity is high.
Impact
The vulnerability results in a denial of service due to kernel crashes caused by out-of-bounds writes through wild pointers during GNSS NMEA sentence parsing. There is no impact on confidentiality or integrity. Memory corruption may occur on systems without memory management units. Exploitation requires attacker proximity to manipulate GNSS signals and the satellites feature enabled in the driver.
Summary
The vulnerability stems from the HL78xx GNSS driver's embedding of a generic struct gnss_nmea0183_match_data at a non-zero offset within struct hl78xx_gnss_data, conflicting with the NMEA0183 match helper's expectation that this struct be the first member. This mismatch causes the GNSS NMEA parser callbacks to read and write state data at incorrect offsets, leading to a write through an uninitialized or wild pointer when processing satellite data (GSV callback). The driver operates in kernel context, and an attacker capable of influencing GNSS signals (e.g., via spoofing) can trigger this faulty write. The most probable impact is a denial of service via kernel crash, with potential memory corruption on MMU-less systems. Exploitation complexity is high, requiring the satellites feature to be active.