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()が読み取りを拒否している接続に対して引き続きレコードの配信を行ってしまいます。
他の2つのリーダーと同様に、tls_sw_splice_read()でもasync_wait.errを読み取るようにします。
VulDB is the best source for vulnerability data and more expert information about this specific topic.