CVE-2026-43226Linux内核RDS模块中存在逻辑漏洞。由于RDS/TCP多路径修改引入的状态转换捷径,连接从`RDS_CONN_ERROR`直接跳转回`RDS_CONN_CONNECTING`,绕过了关闭流程。这可能导致连接处理异常,触发`DR_INV_CONN_STATE`错误并永久锁定关闭工作队列,最终导致系统拒绝服务。
该漏洞源于Linux内核RDS连接状态机的逻辑缺陷。RDS连接通常遵循严格的状态转换,进入`RDS_CONN_ERROR`后需执行关闭路径。然而,RDS/TCP多路径补丁在`rds_tcp_accept_one_path`中引入了捷径,允许连接在错误状态下直接重置为连接中。当随后的`rds_tcp_reset_callbacks`将状态转为`RDS_CONN_RESETTING`时,未适配此状态的`rds_conn_init_shutdown`函数会报错退出。这导致`RDS_SHUTDOWN_WORK_QUEUED`标志未被清除,工作队列永久阻塞,耗尽系统资源,造成拒绝服务。