CVE-2026-99062 in Linux
要約
〜によって VulDB • 2026年10月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
vsock/virtio: read_skb() では未読バイトのみをカウントする
部分的なストリームの受信後、rx_bytesは未読のサフィックスを追跡しますが、buf_usedとpeer creditはまだ全体のパケットをカバーしています。 virtio_transport_read_skb() はそのパケットをデキューしますが、両方のカウンターに対して pkt_len を渡すため、rx_bytes がアンダーフローします。
接続済み CID_LOCAL ストリームで SK_SKB 判定がある場合、100 バイトのパケットから 40 バイトの読み取りを行うと、SIOCINQ は -40 を報告し、空の recv は ELOOP を返し、poll は空のソケットが読可能であると報告します。判定解除後、40 バイトを受信するとカウンターがゼロにラップされ、キューされたバイトはさらに 1 バイト到着するまで隠蔽されました。修正後の実行ではカウンターがバランスを保ち、キューされたデータをすべて即座に公開しました。
これは、CVE-2024-50169 の後で virtio_transport_read_skb() を再評価しながら VSOCK 受信のアカウント処理に関する LLM支援による手動ソース監査中に発見されました。
rx_bytes から skb->len に VSOCK オフセットを減算した値のみを引き出します。buf_used と peer credit には完全なパケット長を保持します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.