CVE-2026-31764Linux内核st_lsm6dsx驱动存在越界访问漏洞。在设置缓冲区采样频率时,`st_lsm6dsx_check_odr`函数使用`sensor->id`索引访问仅包含2个元素的`odr_table`数组。若针对非加速度计或陀螺仪的传感器进行操作,将导致数组越界,可能引发内核崩溃或权限提升。
漏洞位于Linux内核`iio: imu: st_lsm6dsx`驱动中。当用户空间程序通过sysfs接口写入缓冲区采样频率属性时,会触发`st_lsm6dsx_hwfifo_odr_store`函数。该函数调用`st_lsm6dsx_check_odr`来检查输出数据率(ODR),并使用`sensor->id`作为索引访问`odr_table`数组。然而,该数组仅预定义了加速度计和陀螺仪的配置,长度仅为2。当`sensor->id`指向步数计数器或Sign Motion等其他传感器类型时,代码会执行越界内存访问。攻击者利用此漏洞可导致内核崩溃(拒绝服务)或潜在的权限提升。