CVE-2026-43356Linux内核中的IIO IMU ADIS驱动模块存在一个空指针解引用漏洞。该漏洞源于adis_init()函数在访问adis->ops成员之前未对其进行非空检查。当特定驱动(如adis16480)未设置自定义操作集并依赖默认值时,由于结构体被零初始化,会导致内核访问空地址。本地低权限攻击者可利用此漏洞触发系统崩溃,造成拒绝服务。
漏洞位于Linux内核drivers/iio/imu/adis/adis.c的adis_init函数中。函数逻辑存在缺陷,直接解引用adis->ops指针以检查其内部的函数指针(write、read等),但未预先验证adis->ops本身是否有效。受影响的驱动程序(例如adis16480、adis16490、adis16545)在初始化时,devm_iio_device_alloc会将struct adis清零,若未显式赋值ops,adis->ops即为NULL。调用adis_init时,CPU尝试读取0x0地址指令,引发内核异常(Kernel Oops),导致系统宕机或重启。攻击向量为本地,无需用户交互,且仅需低权限即可触发。