【活用ガイド】

JVNDB-2026-028065

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:vsock/vmciにおける、ハンドシェイク中にピアが接続をリセットした際に発生するUse-After-Free(UAF)問題の修正です。vmci_transport_recv_connecting_server()はデフォルトのswitch文のアームで、ピアのRSTを受け取るとerr = 0を返していました: err = pkt->type == VMCI_TRANSPORT_PACKET_TYPE_RST ? 0 : -EINVAL;これにより、vmci_transport_recv_listen()はvsock_remove_pending()をスキップし、待機中のソケットがリスナーのpending_linksにsk_state = TCP_CLOSEのまま残されてしまっていました。一方、destroy処理ではschedule_delayed_work()実行前に取得した明示的な参照が破棄されていました。1秒後、vsock_pending_work()はis_pending=trueを検出し、完全なクリーンアップを実行しました。具体的には、vsock_remove_pending()および続く2回のsock_put(sk)呼び出しです。最初の呼び出しで参照カウントは0になりソケットは__sk_freedされましたが、2回目の呼び出しは解放済みオブジェクトに書き込みを行いました。その結果、BUGが発生しました:KASANによるslab-use-after-freeエラー refcount_warn_saturate の中で4バイトの書き込みがタスクkworkerによって行われ、Workqueue eventsのvsock_pending_workで問題が生じたのです。この問題を解決するため、ピアのRSTは他の予期しないパケットタイプと同様に扱うように変更されました(err = -EINVALとしました)。すべてのdestroyアームはerr < 0を返すため、vmci_transport_recv_listen()はpending_linksから待機中のソケットを同期的に削除し、vsock_pending_work()はis_pending=falseかつ!rejectedの分岐を通って自身の作業参照のみを破棄します。これにより、Sashiko氏がv2で報告したマルチパケットの競合状態も解消しました。待機リストからの削除が行われてから次のパケットが検出されるためです。また、Sashiko氏が指摘したvmci_transport_recv_listen()のerr < 0パスにおける既存のsk_acceptq_removed()のギャップは、このパッチによって新たに導入・変更されたものではありません。テストはlts-6.12.79上でKASANを有効にして実施され、修正前には100回中52回発生していた問題が、修正後は100回中0回になりました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 3.9 以上 5.10.258 未満
  • Linux Kernel 5.11 以上 5.15.209 未満
  • Linux Kernel 5.16 以上 6.1.175 未満
  • Linux Kernel 6.13 以上 6.18.34 未満
  • Linux Kernel 6.19 以上 7.0.11 未満
  • Linux Kernel 6.2 以上 6.6.142 未満
  • Linux Kernel 6.7 以上 6.12.92 未満
  • Linux Kernel 7.1

想定される影響

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

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

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

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

  1. CVE-2026-64115
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64115
  2. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ecda37f8faab3220da199335e42564cb7a9ad145)
  3. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1e19f08552b90070ed18bafb1763c78297823af6)
  4. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/99e22ddf4edb63dc8382bc028af928056d3450cf)
  5. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/440447699c681e26ed58e9c309cad718270a18b4)
  6. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/47e63077605c6c2aa45b3df9847a8cdc1f1f6ef9)
  7. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1dd531e28f61edd286edc486ab068f135b5ae1eb)
  8. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9fe74e42914c851d68069713b7b917a9c33faf26)
  9. 関連文書 : vsock/vmci: fix UAF when peer resets connection during handshake - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cc27e989a5dfdfcfc1cca7c3be27a0c7532b46cb)
更新履歴

  • [2026年08月13日]
      掲載