CVE Catalog

CVE-2026-42804

HighCVSS 7.6
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.25%

17th percentile - higher than 17% of all known CVEs

Summary

A stack-based buffer overflow in the Bosch Sensortec BHI360 SensorAPI (C library) in versions up to and including commit d6b200416a. The vulnerability is in the FIFO parsing and debug logging subsystem within bhi360_parse_debug_message() in bhi360_parse.c (lines 1852-1875); the parser trusts the first payload byte as the message length and copies that many bytes into a fixed-size 17-byte stack buffer via memcpy without bounds checking. A locally or physically positioned attacker can inject a crafted debug frame with a length byte exceeding 16, corrupting adjacent stack data including the saved return address; because the overflowed buffer is subsequently passed to a printf-style logging sink, the attacker can supply format string specifiers (e.g., %n) to execute arbitrary code on the host microcontroller/SoC or cause a reliable system crash (DoS).

Risk Assessment

An attacker with local or physical access can corrupt stack memory and potentially execute arbitrary code on the host device, leading to full compromise or reliable denial of service.

Recommendation

Update BHI360 SensorAPI to a version that fixes the vulnerability, or restrict physical access and the use of untrusted sensors and hardware modules.

Related vulnerabilities

Original NVD description (English source)

A stack-based buffer overflow vulnerability exists in the Bosch Sensortec BHI360 SensorAPI(C-Library) in versions up to and including commit d6b200416a. The vulnerability is located within the FIFO parsing and debug logging subsystem inside the function bhi360_parse_debug_message() in bhi360_parse.c (lines 1852-1875). The parser trusts the first payload byte of a debug frame as the message length (msg_length) and copies that many bytes into a fixed-size 17-byte stack buffer (debug_msg) via memcpy without performing any bounds checking. A locally or physically positioned attacker (e.g., via a malicious sensor, counterfeit hardware module, or a Man-in-the-Middle on the communication bus) can exploit this vulnerability by injecting a crafted debug frame with a length byte exceeding 16. This corrupts adjacent stack data, including the saved return address. Furthermore, because the overflowed buffer is subsequently passed to a printf-style logging sink, the attacker can supply format string specifiers (e.g., %n) to execute arbitrary code on the host microcontroller/SoC or cause a reliable system crash (Denial of Service).

Vulnerability data from NVD (NIST) · CISA KEV · EPSS