CVE-2026-64351 in Linux情報

要約

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

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

net: usb: kalmia: kalmia_rx_fixup()におけるRXフレーム長の制限

kalmia_rx_fixup()関数は、usb_packet_lengthを `skb->len - (2 * KALMIA_HEADER_LENGTH)` として計算しますが、これはu16型で扱われます。この計算には、`skb->len` が少なくともKALMIA_HEADER_LENGTH(値は6)であることを確認するループ前のチェックのみがガードとして設けられています。デバイスからは、`skb->len` の値が6から11の範囲にある短いバルク-INフレームが送信されるか、または後のループ反復処理で末尾に短い残余データが残されることがあります。いずれの場合も、usb_packet_lengthは約65530までアンダーフローします。

この結果、`usb_packet_length < ether_packet_length` という条件によるether_packet_lengthへの切り捨てパスが回避されます。デバイスから提供されるether_packet_length(header_start[2]から読み取られる最大値65535までのle16型データ)は、その後のmemcmp()呼び出しおよびskb_trim()とskb_pull()をrxバッファの末尾を超えて実行する要因となります。rxバッファのサイズはhard_mtu * 10(すなわち14000バイト)に固定されています。これにより境界外読み取りが発生します。

修正として、ループ反復処理ごとに両端のフレームヘッダーが存在することを確認してからそれらを減算するようにしました。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383148

EPSS

0.00185

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!