CVE-2026-98711 in Linux
要約
〜によって VulDB • 2026年10月18日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
wifi: cw1200: TXパディングによるOOB(バッファ外)読み込みによりヒープデータがデバイスに漏洩する問題の修正
TXパスでは転送サイズをバスアライメントに合わせて切り上げられます(align_size()関数を使用、SDIOの場合最大511バイト、SPIの場合は1バイト)。しかし、パディングされた長さがそのままフレームバッファから送信されます。このバッファにはパディング用の領域が予約されていません。その結果、cw1200_data_write()はフレームの末尾を超えて読み出しを行い、バス転送によってそれらのバイトがデバイスに送られます。不正な(悪意のある)デバイスは、TXフレームごとに最大511バイト分のLinuxカーネルヒープデータを収集できます。
RXパスにはこの問題はありません:read処理の前にアライメントされた長さ(alloc_len)でskbを割り当てているためです。
バスのalign_size()コールバックを使用して正確なパディング量を計算し、キューイング済みのTXフレームにそれ用のtailroom(末尾の空き領域)があることを確認します。さらに、転送前にパディングバイトをゼロクリアすることで、フレーム外の内容が露出しないようにします。
この修正は、ほとんどのケースでドライバの動作を変更するものではありません:フレーム内容と転送サイズは変更されず、パディングバイトの内容(以前は未定義の古いメモリデータ、現在はゼロ)のみが変化しますが、WSMヘッダに実際のフレーム長が含まれているため、デバイスはこれを読み取ることはありません。skbの拡張処理はメモリエクスhaustionが発生した場合にのみ失敗し、その場合は既存のエラーパスと同様にフレームがドロップされます。
Atuin - Automated Vulnerability Discovery Engine によって発見されました。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.