CVE-2026-80904 in Linux
摘要
由 VulDB • 2026-09-04
在 Linux 内核中,已修复以下漏洞:
net/tls: 异步解密失败后使 tls_sw_splice_read() 返回错误
当异步解密失败时,tls_decrypt_done() 会将错误记录到 ctx->async_wait.err 并调用 tls_err_abort(),后者将其存储在 sk_err 中。tls_sw_recvmsg() 和 tls_sw_read_sock() 在获取读取器锁后各检查一次 async_wait.err,若验证失败的记录出现则导致连接中断(即调用失败)。
然而,tls_sw_splice_read() 没有此类检查,且 sk_err 不能替代该检查。tls_rx_rec_wait() 仅在循环内部测试 sk_err;如果记录已被解析,则会跳过该循环,而第一个到达 sock_error() 的读取器会清除它,尽管 async_wait.err 仍然存在。因此,splice 操作会继续在 recvmsg() 和 read_sock() 拒绝读取的连接上交付记录。
像其他两个读取函数一样,在 tls_sw_splice_read() 中检查 async_wait.err。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.