CVE-2026-64552 in Linux情報

要約

〜によって VulDB • 2026年07月28日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

virtio-net: receive_big() における長さチェックの修正

receive_big() は、デバイスが通知した長さを (big_packets_num_skbfrags + 1) * PAGE_SIZE で制限しています。しかし、これは依然として緩すぎます。add_recvbuf_big() では sg[1] が最初のページ内の sizeof(struct padded_vnet_hdr) のオフセットから始まるように設定されるため、チェーンが実際に運ぶバイト数は hdr_len + (PAGE_SIZE - sizeof(padded_vnet_hdr)) + big_packets_num_skbfrags * PAGE_SIZE となります。これは一般的な hdr_len == 12 の場合において、チェックで許容されている値より 20 バイト少ないものです。

悪意のある virtio バックエンドは、このギャップ内で len を通知することができます。その後 page_to_skb() はページチェーンの先にあるフラグメントを一つ超えて歩き回り、skb_shinfo()->frags[MAX_SKB_FRAGS] に NULL の page->private を格納します。これは静的なフラグメント配列に対する境界外書き込みであると同時に、RXパス上で渡される NULL フラグメントでもあります。

len は add_recvbuf_big() が実際に通知したサイズで制限してください。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383614

EPSS

0.00000

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!