CVE-2026-31691Linux内核igb驱动程序中存在本地拒绝服务漏洞。当使用AF_XDP零拷贝模式的应用程序异常终止时,由于NAPI轮询状态未能正确清除,导致igb_down()函数在调用napi_synchronize()时发生无限等待。这会阻塞网络接口的关闭过程,触发TX看门狗,并使发送队列永久停滞,从而导致系统网络功能不可用。
该漏洞主要影响Linux内核的igb驱动程序。漏洞原理在于对NAPI(New API)轮询机制的处理不当。当AF_XDP零拷贝应用程序被强制终止(如使用kill -9)时,XSK缓冲池被销毁,但NAPI轮询循环仍在继续。此时,igb_clean_rx_irq_zc()函数持续返回完整的预算值,导致napi_complete_done()无法清除NAPI_STATE_SCHED状态位。在igb_down()函数尝试关闭接口时,它会在napi_disable()之前调用napi_synchronize(),该函数会自旋等待NAPI_STATE_SCHED被清除,从而陷入死锁。这种死锁导致网络接口无法关闭,传输队列被永久阻塞,造成本地拒绝服务攻击。