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.21% 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.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-12515A flaw was found in Katello's of Red Hat Satellite. A conten…4.3
- CVE-2026-12516The Fediverse Embeds WordPress plugin before 1.5.8 does not …5.3
- CVE-2026-12517The Fediverse Embeds WordPress plugin before 1.5.8 does not …5.3
- CVE-2026-12518A local privilege escalation vulnerability in the Logitech L…8.5
- CVE-2026-12519The WNC-M14A2A LTE-M modem driver mishandles unsolicited %NO…5
- CVE-2026-1252The Events Listing Widget plugin for WordPress is vulnerable…6.4
- CVE-2026-12522The HL7800 cellular modem driver's +CGCONTRDP: response hand…8.8
- CVE-2026-12523Summary Cloudflare quiche's HTTP/3 layer was discovered t…7.5
- CVE-2026-12525The Redux Framework WordPress plugin before 4.5.13 does not …8.8
- CVE-2026-12526The Advanced Custom Fields: Extended WordPress plugin before…8.1
- CVE-2026-12527A broken authorization boundary in the RTSP media delivery p…6
- CVE-2026-12528A flaw was found in 389 Directory Server in the __aclp__norm…5.4
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
