CVE-2026-42806

Out‑of‑Bounds Read in BME690 SensorAPI Leading to Sensor Data Corruption

Published Sep 10, 2026 CVSS 3.1 · 4.3 Medium EPSS < 1% KEV · Not listed
Description
An out-of-bounds read vulnerability was discovered in the Bosch BME690 SensorAPI (C-driver) in version v1.0.3 and prior, specifically within the field data parsing logic in read_all_field_data (bme69x.c).

The driver prefetches heater configuration registers into a contiguous 30-byte stack buffer (set_val) mapping IDAC, RES_HEAT, and GAS_WAIT tables.

When parsing sensor field data, the gas_index is extracted using a 4-bit mask (0..15) but lacks boundary verification against the valid range (0..9).

An attacker or a compromised peripheral mimicking a sensor on the I2C/SPI bus could return a payload with a gas index value of 10 or higher.

This causes the driver to perform an out-of-bounds array access (set_val[20 + gas_index]), reading up to 6 bytes past the stack buffer.

The leaked out-of-bounds byte is then written into the public gas_wait field, which may lead to measurement corruption or leak adjacent stack memory when telemetered or logged.

Analysis

AI-generated

Technical impact

The vulnerability is a classic out-of-bounds read within the BME690 SensorAPI driver. During sensor field data parsing, a gas index is extracted with a 4‑bit mask but no check ensures it stays within the valid 0–9 range. An attacker who can expose a fabricated sensor on the I2C/SPI bus may supply a gas index of 10 or higher, causing the driver to read up to six bytes beyond a 30‑byte stack buffer. The leaked byte is written into the public gas_wait field, which can corrupt measurement values or expose adjacent stack memory in logs or telemetry. The primary consequence is potential confidentiality loss of stack contents and integrity loss of sensor output.

Affected Systems

The affected systems are devices that use Bosch Sensortec’s BME690 SensorAPI C driver, specifically version 1.0.3 and earlier. These are embedded sensor platforms that interface over I2C or SPI.

Risk and Exploitability

Risk and exploitability are moderate. The CVSS score of 4.3 reflects limited impact beyond data corruption. EPSS data is unavailable. The KEV status is not listed. The description indicates that an attacker must have a trusted peripheral that can mimic a sensor on the same bus; therefore, the attack vector is inferred to be local, not remote. As such, the threat is significant for systems where sensor data integrity is critical, but exploitation demands physical or compromised peripheral access.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply Bosch’s official patch or upgrade to a version in which the gas_index check is bounded. For example, update the BME690 SensorAPI C driver to v1.0.4 or later if released.
  • Disable or restrict access to untrusted I2C/SPI peripherals so that only authenticated sensors can communicate with the driver. This limits the ability of a malicious device to send forged gas_index values.
  • Validate returned sensor data for out‑of‑range or corrupted values before using it in calculations or telemetry.

Generated by OpenCVE AI on September 10, 2026 at 10:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Bosch Sensortec
Bosch Sensortec bme690 Sensorapi (c)
Vendors & Products Bosch Sensortec
Bosch Sensortec bme690 Sensorapi (c)
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title Out‑of‑Bounds Read in BME690 SensorAPI Leading to Sensor Data Corruption
Type Values Removed Values Added
Description An out-of-bounds read vulnerability was discovered in the Bosch BME690 SensorAPI (C-driver) in version v1.0.3 and prior, specifically within the field data parsing logic in read_all_field_data (bme69x.c). The driver prefetches heater configuration registers into a contiguous 30-byte stack buffer (set_val) mapping IDAC, RES_HEAT, and GAS_WAIT tables. When parsing sensor field data, the gas_index is extracted using a 4-bit mask (0..15) but lacks boundary verification against the valid range (0..9). An attacker or a compromised peripheral mimicking a sensor on the I2C/SPI bus could return a payload with a gas index value of 10 or higher. This causes the driver to perform an out-of-bounds array access (set_val[20 + gas_index]), reading up to 6 bytes past the stack buffer. The leaked out-of-bounds byte is then written into the public gas_wait field, which may lead to measurement corruption or leak adjacent stack memory when telemetered or logged.
Weaknesses CWE-125
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
bosch
Published
Updated
Sep 10, 2026, 3:00 PM
Reserved
Apr 30, 2026, 8:03 AM
Status
Awaiting Analysis
Published
Sep 10, 2026, 9:17 AM
Modified
Sep 10, 2026, 4:17 PM