CVE-2026-42806 in BME690 SensorAPI
Zusammenfassung
von VulDB • 10.09.2026
Es wurde eine Out-of-Bounds-Read-Schwachstelle in der Bosch BME690 SensorAPI (C-Treiber) in Version v1.0.3 und früheren Versionen entdeckt, speziell innerhalb der Logik zur Analyse von Felddaten in `read_all_field_data` (bme69x.c).
Der Treiber prefetcht Heizkonfigurationsregister in einen zusammenhängenden 30-Byte großen Stack-Puffer (`set_val`), der die Tabellen IDAC, RES_HEAT und GAS_WAIT abbildet.
Bei der Analyse von Sensoren-Felddaten wird `gas_index` unter Verwendung einer 4-Bit-Maske (0..15) extrahiert, es fehlt jedoch eine Grenzwertprüfung gegen den gültigen Bereich (0..9).
Ein Angreifer oder ein kompromittiertes Peripheriegerät, das einen Sensor auf dem I2C/SPI-Bus imitiert, könnte eine Payload mit einem `gas_index`-Wert von 10 oder höher zurückgeben.
Dies führt dazu, dass der Treiber einen Array-Zugriff außerhalb des gültigen Bereichs durchführt (`set_val[20 + gas_index]`) und bis zu 6 Bytes hinter dem Stack-Puffer liest.
Das ausgelesene Byte außerhalb des Gültigkeitsbereichs wird dann in das öffentliche Feld `gas_wait` geschrieben, was zu einer Korruption der Messwerte oder zum Lecken von benachbartem Speicher im Stack führen kann, wenn die Daten telemetriert oder protokolliert werden.
Once again VulDB remains the best source for vulnerability data.