【活用ガイド】

JVNDB-2026-032969

LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。HID: multitouch: mt_io_flagsの範囲外ビットアクセスの修正について説明します。mt_io_flagsは単一のunsigned long型ですが、mt_process_slot()、mt_release_pending_palms()、およびmt_release_contacts()は、これをスロット番号でインデックス付けされたスロット単位のビットマップとして使用しています。そのスロット番号は、デバイスのContactCountMaximum機能レポートから取得され、最大255に達する可能性がありますが、td->maxcontactsによってのみ制限されており、BITS_PER_LONGによっては制限されていません。その結果、大きな接触数を報告するマルチタッチデバイスでは、set_bit()やclear_bit()がmt_io_flags変数の範囲を超えて操作を行い、構造体mt_deviceの隣接メンバーを破損させてしまいます。sticky-fingersのリリースタイマーがこの状態に到達する最も簡単な方法です。mt_release_contacts()は以下のループを実行します。 for (i = 0; i < mt->num_slots; i++) clear_bit(i, &td->mt_io_flags);ここでnum_slotsはmaxcontactsと同じ値です。maxcontactsがおよそ250の場合、このループはtd->applications.nextと重なるビットをクリアし、そのリストヘッドをゼロにしてしまいます。そして、直後のlist_for_each_entry()がNULLを逆参照し、タイマー(softirq)コンテキストでカーネルパニックが発生します。KASANビルドでは、mt_release_contacts()内で0x58オフセット(struct mt_applicationのnum_receivedのoffsetof)へのNULLポインタ逆参照が原因の一般保護違反として検出されます。この状態は、信頼されていないUSBまたはBluetoothのHIDマルチタッチデバイスから到達可能であり、ローカル権限は不要です。スロットごとの有効状態は、maxcontactsに合わせて別途割り当てられたビットマップに格納します。この方式はpending_palm_slotsに既に使用されているものと同じです。mt_io_flagsにはMT_IO_FLAGS_RUNNINGのみを保持します。また、2つの「mt_io_flags & MT_IO_SLOTS_MASK」による起動チェックは、bitmap_empty(td->active_slots, td->maxcontacts)に置き換えます。MT_IO_FLAGS_RUNNINGはビット0に戻しました。以前のコミットでスロットビット用に低バイトを残すためビット32に移動されていましたが、スロットビットが無くなったため再びビット0に収まり、32ビット環境のunsigned longの範囲内に収まります。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.8 (重要) [その他]
  • 攻撃元区分: 隣接
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 5.10.246 以上 5.10.261 未満
  • Linux Kernel 5.15.196 以上 5.15.212 未満
  • Linux Kernel 6.1.158 以上 6.1.178 未満
  • Linux Kernel 6.12.55 以上 6.12.97 未満
  • Linux Kernel 6.17.5 以上 6.18 未満
  • Linux Kernel 6.18.1 以上 6.18.39 未満
  • Linux Kernel 6.19 以上 7.1.4 未満
  • Linux Kernel 6.6.114 以上 6.6.145 未満
  • Linux Kernel 6.18
  • Linux Kernel 7.2

想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 境界外読み取り(CWE-125) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-64364
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64364
  2. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e24918ee67c4dc3d20d4670750e46e9b160365f4)
  3. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/152983d87387f6a8ae72b73474cfa55fbcf1ec75)
  4. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8813b0612275cc61fe9e6603d0ee019247ade6be)
  5. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/37daa8c96bd563d03150e23f094cb60703594a6d)
  6. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6493ebf9489efef0105078377b973ab33d51af22)
  7. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/12e90656e330ff8bbaf2f29c535fdb8a11cc6f55)
  8. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a6d5ce2e1a2d7bf189bde8a659d04b65f0b0725d)
  9. 関連文書 : HID: multitouch: fix out-of-bounds bit access on mt_io_flags - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b5c037d6b807017e74a115288f81bc9cd5a5aab8)
更新履歴

  • [2026年09月11日]
      掲載