В Bosch Sensortec BHI385 SensorAPI (библиотека C) существует уязвимость переполнения буфера стека в функции синтаксического анализатора отладочных сообщений bhi385_parse_debug_message (находится в bhi385_parse.c). Функция анализирует события FIFO и извлекает 8-битное сообщение непосредственно из полезных данных событий, контролируемых злоумышленником (callback_info->data_ptr[0]), без принудительной проверки границ или ограничения значения. При копировании полезных данных в буфер стека фиксированного размера размером 17 байт (uint8_t debug_msg[17]) через memcpy предоставление байта длины больше 16 приводит к тому, что функция выполняет запись за пределы выделенной границы стека.
Это повреждение памяти может быть вызвано вредоносным или скомпрометированным датчиком или участником шины, что приводит к сбою встроенного ПО, отказу в обслуживании (DoS) или потенциальному выполнению произвольного кода из-за повреждения данных соседнего стека.
Показать оригинальное описание (EN)
A stack-based buffer overflow vulnerability exists in the Bosch Sensortec BHI385 SensorAPI (C library) within the debug message parser function bhi385_parse_debug_message (located in bhi385_parse.c). The function parses FIFO events and extracts an 8-bit message length directly from the attacker-controlled event payload (callback_info->data_ptr[0]) without enforcing bounds checks or clamping the value. When copying the payload into a fixed-size stack buffer of 17 bytes (uint8_t debug_msg[17]) via memcpy, providing a length byte greater than 16 causes the function to write past the allocated stack boundary. This memory corruption can be triggered by a malicious or compromised sensor or bus participant, leading to a firmware crash, Denial of Service (DoS), or potentially the execution of arbitrary code via adjacent stack data corruption.
Характеристики атаки
Последствия
Строка CVSS v3.1