CVE-2026-15461
Awaiting Analysis Awaiting Analysis - Queue

Memory Corruption in Sierra Wireless HL78xx GNSS Driver

Vulnerability report for CVE-2026-15461, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-10

Last updated on: 2026-09-10

Assigner: Zephyr Project

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-10
Last Modified
2026-09-10
Generated
2026-09-10
AI Q&A
2026-09-10
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
zephyrproject zephyr 4.4.0
zephyrproject zephyr 4.4.1
zephyrproject zephyr From 4.4.2 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-843 The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a type confusion vulnerability in the Zephyr RTOS HL78xx GNSS NMEA driver where the match_data member is incorrectly placed as the second member in the struct hl78xx_gnss_data instead of the first. This causes a mismatch between where state is initialized and where NMEA parse callbacks read and write it, leading to a wild-pointer write when processing GNSS input.

Detection Guidance

This vulnerability is specific to the Zephyr RTOS HL78xx GNSS driver and requires kernel-level access to detect. Check if your system uses the affected Zephyr versions (4.4.0 to 4.4.1) by inspecting the HL78xx GNSS driver source code for the incorrect struct layout. Look for the match_data member not being the first member in struct hl78xx_gnss_data.

Impact Analysis

The vulnerability can cause a kernel crash (denial of service) due to memory corruption from writing through an uninitialized pointer. It requires the satellites feature to be enabled and an attacker with proximity access to the GNSS signal, such as via GPS spoofing. Confidentiality is not affected.

Compliance Impact

This vulnerability does not directly impact compliance with GDPR or HIPAA as it does not involve unauthorized data access or disclosure. The issue primarily causes kernel crashes (denial of service) due to memory corruption, which may disrupt device functionality but does not lead to data breaches or confidentiality violations.

Mitigation Strategies

Upgrade to Zephyr RTOS version 4.4.2 or later where the issue is fixed. If upgrading is not possible, modify the HL78xx GNSS driver source code to move the match_data member to the first position in struct hl78xx_gnss_data and add a static assertion to enforce this layout. Disable the satellites feature (CONFIG_GNSS_SATELLITES) if not required.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-15461. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart