Impact
In the Zephyr HL7800 modem driver, a stack buffer overflow exists in several AT‑response handlers. The driver copies 128 bytes into a stack array and then writes a terminating NUL byte, which can be written one byte past the end when the source exactly fills the buffer. The most severe path is the +KCELLMEAS handler, where the destination size is mistakenly set to the received line length. An attacker can cause an AT response line longer than 128 bytes, triggering a full stack overflow that allows kernel‑level code execution. The other handlers perform a single‑byte off‑by‑one NUL overwrite, which, while less dangerous than a full overflow, still corrupts stack memory and can lead to crashes or data tampering.
Affected Systems
The vulnerability is present in the Zephyr project’s HL7800 modem driver (drivers/modem/vendor_standalone/hl7800.c, also located at drivers/modem/hl7800.c) in versions up to and including v4.4.0. Systems using Zephyr firmware that incorporates the HL7800 modem and relies on AT‑command parsing from a cellular radio are affected.
Risk and Exploitability
The CVSS score of 6.4 indicates medium severity, and the lack of an EPSS value means the likelihood of exploitation is currently unknown. The vulnerability is not listed in CISA’s KEV catalog. Exploitation would require an attacker to influence the data the modem emits—via a rogue base station, a compromised modem baseband, or a controlled input over UART—to deliver an AT response line exceeding 128 bytes. The driver runs in the RX thread in kernel context, so a successful exploit could execute code with full kernel privileges. Attack complexity is high due to the need to craft specific AT responses and the requirement that the victim device be connected to the affected modem.
OpenCVE Enrichment