【活用ガイド】

JVNDB-2026-013669

LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。media: as102: as102_usb_probe()内でデバイス登録後にメモリを解放しないように修正されました。as102_usbドライバでは以下の競合状態が発生します。CPU0ではas102_usb_probe()内でkzalloc()によりas102_dev_tを割り当て、usb_register_dev()を呼び出します。一方、CPU1ではsys_open("/path/to/dev")でas102のファイルディスクリプタを開き、その後usb_deregister_dev()とkfree()でas102_dev_tを解放します。sys_close(fd)呼び出し時にはas102_release() → as102_usb_release() → kfree()が発生し、use-after-freeおよびdouble-freeの脆弱性が生じます。usb_register_dev()で登録されたUSBキャラクタデバイスがusb_deregister_dev()や切断によって登録解除されると、デバイスノードは削除されて新しいopen()は失敗しますが、既に開いているファイルディスクリプタは最後の参照が外れるまで有効です。また、ドライバの.release()が呼ばれるまで保持されます。as102_usb_probe()はエラーパスでusb_deregister_dev()後に即座にas102_dev_tを解放してしまうため、ユーザ空間での競合により解放済みメモリへのアクセスが発生し、脆弱性が生まれます。この問題の修正はusb_register_dev()成功後に直接kfree(as102_dev_t)をしないことであり、登録解除後のメモリ解放は.release()に遅延させます。つまり、最後のopenファイルディスクリプタが閉じられた時点で.release()が最終的にkfreeを行うようにしています。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.6.136 未満
  • Linux Kernel 6.13 以上 6.18.24 未満
  • Linux Kernel 6.19 以上 6.19.14 未満
  • Linux Kernel 6.7 以上 6.12.83 未満
  • Linux Kernel 7.0 以上 7.0.1 未満

想定される影響

当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

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

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

  1. 解放済みメモリの使用(CWE-416) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31578
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31578
  2. 関連文書 : media: as102: fix to not free memory after the device is registered in as102_usb_probe() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2eeae47a438694408189138048a786be99954032)
  3. 関連文書 : media: as102: fix to not free memory after the device is registered in as102_usb_probe() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8bd29dbe03fc5b0f039ab2395ff37b64236d2f0c)
  4. 関連文書 : media: as102: fix to not free memory after the device is registered in as102_usb_probe() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/582fbecb3756330006fe1950762412a68c2cacd2)
  5. 関連文書 : media: as102: fix to not free memory after the device is registered in as102_usb_probe() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7e5aedf6059cba2a669d86caeaf5a51f33ec85a1)
  6. 関連文書 : media: as102: fix to not free memory after the device is registered in as102_usb_probe() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/09e9206008b887aa553733bd915d73131071a086)
  7. 関連文書 : media: as102: fix to not free memory after the device is registered in as102_usb_probe() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cb8092038e95dc1113a68e63762de40fff61ba71)
更新履歴

  • [2026年04月30日]
      掲載