CVE-2026-12520
Last modified
CVE-2026-12520 is a medium-severity vulnerability rated 6.4/10 on the CVSS scale. The Sierra Wireless HL7800 cellular modem driver (drivers/modem/vendor_standalone/hl7800.c, located at drivers/modem/hl7800.c in v4.4.0 and earlier) parses AT responses with roughly twenty handlers that call net_buf_linearize(value, sizeof(value), *buf, 0, len) into a 128-byte stack buffer and then write value[out_len] = 0. Because net_buf_linearize() (lib/net_buf/buf.c) can return a count equal to its destination-length argument, a field that exactly fills the buffer makes the terminating NUL land one byte past the end, a single-byte out-of-bounds write into adjacent stack memory. The +KCELLMEAS cell-measurement handler on_cmd_atcmdinfo_rssi() is worse: it passed the wire length len as the destination size (net_buf_linearize(value, len, *buf, 0, len)), so a response line longer than 128 bytes overflows the value stack buffer with attacker-influenceable content. EPSS estimates a 0.29% chance of exploitation in the next 30 days.
Description
The Sierra Wireless HL7800 cellular modem driver (drivers/modem/vendor_standalone/hl7800.c, located at drivers/modem/hl7800.c in v4.4.0 and earlier) parses AT responses with roughly twenty handlers that call net_buf_linearize(value, sizeof(value), *buf, 0, len) into a 128-byte stack buffer and then write value[out_len] = 0. Because net_buf_linearize() (lib/net_buf/buf.c) can return a count equal to its destination-length argument, a field that exactly fills the buffer makes the terminating NUL land one byte past the end, a single-byte out-of-bounds write into adjacent stack memory. The +KCELLMEAS cell-measurement handler on_cmd_atcmdinfo_rssi() is worse: it passed the wire length len as the destination size (net_buf_linearize(value, len, *buf, 0, len)), so a response line longer than 128 bytes overflows the value stack buffer with attacker-influenceable content. The line length comes from net_buf_findcrlf(), which accumulates bytes across the whole net_buf fragment chain and is not bounded to 128, so an over-long line reaches the defect. The data originates from the cellular modem over UART, driven by the network: operator-scan results, +CGCONTRDP IP/DNS info, socket indications, and +KCELLMEAS neighbour-cell reports. An attacker able to shape what the modem emits — a rogue base station, a compromised modem baseband, or a remote peer feeding oversized response framing — can drive a line past 128 bytes. The handlers run in the driver's RX thread in kernel context, so the corruption is kernel-side. The +KCELLMEAS path is a full stack buffer overflow whose worst case is code execution in kernel context and whose floor is a reliable crash; the remaining sites are single-byte NUL out-of-bounds writes. Exploitation requires the modem to emit an over-long AT response line, giving high attack complexity over an adjacent (cellular radio) vector. The fix passes sizeof(dst) - 1 (and correct explicit bounds for the IMSI and +KCELLMEAS sites) so the terminator always stays in bounds.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 2.4.0, < 4.3.2; >= 4.4.0, < 4.4.2 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-12520?
How severe is CVE-2026-12520?
How do I fix CVE-2026-12520?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-125195FFmpeg through 9.0.2 contains an uninitialized memory disclo…2.5
- CVE-2026-125196FFmpeg through 9.0.2 contains a heap buffer overflow vulnera…7
- CVE-2026-125197FFmpeg through 9.0.2 contains an integer underflow in decode…6.1
- CVE-2026-125198FFmpeg through 9.0.2 contains a memory leak vulnerability in…2.5
- CVE-2026-125199FFmpeg through 9.0.2 contains a memory leak vulnerability in…5.5
- CVE-2026-1252The Events Listing Widget plugin for WordPress is vulnerable…6.4
- CVE-2026-125200FFmpeg through 9.0.2 contains a memory leak vulnerability in…5.5
- CVE-2026-125201FFmpeg 7.0 before 8.1.3 and 9.x before 9.0.2 contains a heap…7
- CVE-2026-125202FFmpeg through 9.0.2 contains a heap buffer overflow vulnera…7
- CVE-2026-125203FFmpeg before 8.1.3 and 9.x before 9.0.2 contains a heap buf…7.8
- CVE-2026-125204FFmpeg through 9.0.2 contains a heap buffer overflow in ff_l…7
- CVE-2026-125205FFmpeg through 9.0.2 contains an unbounded memory allocation…5.5
Are you affected by CVE-2026-12520?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
