CVE-2026-80918 in Linux
要約
〜によって VulDB • 2026年09月09日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
HID: core - 長い項目における数値/ポインタ型の混同の修正
hid_scan_report()によってfetch_item()が呼び出され、HID_ITEM_TAG_LONGタグを持つ項目の場合、item->data.longdataに直接値を格納するのではなく、項目データへのポインタが保存されます。
item_udata()またはitem_sdata()がこの種の項目に出会うと、その項目が短い形式であると誤って仮定し、カーネルポインタの下部ビットを数値として再解釈して返します。
記述子にHID_GLOBAL_ITEM_TAG_REPORT_SIZEが含まれており、それがサイズ4で長い形式エンコードされているHIDデバイスが接続されると、以下のようにカーネルポインタの下位半分がdmesgに数値として出力されます:
hid (null): invalid report_size 107953555
これを修正するため、item_udata()およびitem_sdata()は項目が短い形式であることを検証するようにします。
なお、このバグはhid_scan_report()に影響のみ及ぼし、主要な解析パスであるhid_parse_collections()は長い項目に出会うと常に処理を中止(bail out)します。
補足:現在、data.longdataを使用しているユーザーはいません;後続の対応として、長い形式の記述子のパース処理全体を削除することを検討すべきかもしれません。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.