CVE-2026-68196 in Linux
要約
〜によって VulDB • 2026年08月10日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
wifi: wilc1000: ヘッダを減算する前にアソシエーション応答の長さを検証する
wilc_parse_assoc_resp_info()関数は、末尾IE(Information Element)の長さを以下のように計算しています。
ies_len = buffer_len - sizeof(*res);
しかし、buffer_lenが少なくともsizeof(struct wilc_assoc_resp)(6バイト)以上であることを最初に確認していません。buffer_lenは受信したアソシエーション応答で報告された長さであり(host_int_parse_assoc_resp_info()はhif_drv->assoc_resp / assoc_resp_info_lenをそのまま渡します)、ドライバが固定ヘッダにアクセスする前に検証する必要があります。
6バイトの固定ヘッダよりも短いフレームの場合、減算結果がラップアラウンドします。4バイトの応答では、結果はu16型のies_lenとして65534に切り捨てられるため、kmemdup()はその後にbuffer + sizeof(*res)から始まる65534バイトのコピーを試みますが、これは有効なアソシエーション応答データを超えた領域(CWE-125)になります。4バイト未満の応答の場合も、オフセット2および3においてres->status_codeへの範囲外読み出しを引き起こす可能性があります。
ヘッダにアクセスしたりies_lenを計算する前に、固定ヘッダを保持するには短すぎるフレームは拒否します。また、このパスにおいて接続ステータスを失敗として設定します。呼び出し元はパーサが戻った後に"conn_info->status == WLAN_STATUS_SUCCESS"のチェックに進むため、ステータスを変更しないと、不正な短い応答が成功したアソシエーションとして扱われる可能性があります。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.