CVE-2026-23369Linux内核i2c:i801驱动程序存在安全漏洞。该漏洞源于回退了用I2C总线锁替换acpi_lock的提交。在系统启动时,多个udev线程并发访问i801_acpi_io_handler可能导致竞态条件。当一个线程注销区域而另一个线程尝试访问已注销的lock_ops时,会触发空指针解引用,导致内核崩溃和系统无法启动。
该漏洞是一个发生在Linux内核i801 I2C控制器驱动中的TOCTOU(Time-of-check to Time-of-use)类竞态条件。问题出现于系统启动阶段的udev规则处理,此时多个线程可能同时查询i801设备的ACPI信息。第一个线程执行完毕后,相关的ACPI地址空间被注销。第二个线程紧随其后尝试调用i2c_lock_bus,该函数内部尝试访问已被释放的内存区域中的lock_ops结构体。由于指针悬空(指向NULL或已释放内存),导致内核页错误,进而引发Kernel Panic。此漏洞需要本地低权限用户触发启动时的设备探测流程。