CVE-2026-31545Linux内核中的nxp-nci驱动程序存在一个本地拒绝服务漏洞。该漏洞由于驱动程序未允许固件和启用GPIO进入睡眠状态,当驱动操作连接到I2C GPIO扩展器的GPIO时,会触发`WARN_ON`警告,并可能导致系统崩溃或功能失效。此问题主要影响系统可用性,攻击者需具备本地低权限即可触发该漏洞。
该漏洞位于Linux内核的`drivers/nfc/nxp-nci`驱动中。根本原因在于GPIO操作上下文不当。在Linux内核中,访问I2C总线上的设备可能会引起进程睡眠。原驱动代码在调用`gpiod_set_value`修改GPIO状态时,未考虑到GPIO可能位于I2C扩展器上的情况,从而在原子上下文中执行了可能睡眠的操作。这违反了内核规则,触发了`gpiolib.c:3880`处的`WARN_ON`警告,导致系统日志报错并可能中断驱动服务。修复补丁通过修改代码逻辑,明确允许固件和启用GPIO进入睡眠状态,从而兼容I2C GPIO扩展器硬件。