【活用ガイド】

JVNDB-2026-014674

LinuxのLinux Kernelにおける二重解放に関する脆弱性

概要

Linuxカーネルのxen/privcmdにおいて、VMA分割による二重解放の脆弱性が修正されました。privcmd_vm_opsには.close(privcmd_close)が定義されていますが、.may_splitも.openも定義されていません。そのため、ユーザースペースがprivcmdマッピングに対して部分的にmunmap()を実行すると、カーネルは__split_vma()でVMAを分割し、.may_splitがNULLであるため、分割を許可してしまいます。vm_area_dup()は新しいVMAに対してvm_private_data(alloc_empty_pages()で割り当てたページ配列)を修正せずにコピーするため、両方のVMAが同じページ配列を指すことになります。その結果、マッピング解除時にprivcmd_close()が同じページ配列を二重に解放してしまいます。この問題は、.may_splitコールバックでVMA分割を拒否することで修正されました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 3.8 以上 5.10.254 未満
  • Linux Kernel 5.11 以上 5.15.204 未満
  • Linux Kernel 5.16 以上 6.1.170 未満
  • Linux Kernel 6.13 以上 6.18.26 未満
  • Linux Kernel 6.19 以上 7.0.3 未満
  • Linux Kernel 6.2 以上 6.6.137 未満
  • Linux Kernel 6.7 以上 6.12.85 未満
  • Linux Kernel 7.1

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

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

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

Openwall Xen プロジェクト
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 二重解放(CWE-415) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31787
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31787
  2. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/dbf862ce9f009128ab86b234d91413a3e450beb4)
  3. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/24daca4fc07f3ff8cd0e3f629cd982187f48436a)
  4. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/402d84ad9e89bd4cbfd07ca8598532b7021daf95)
  5. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2894a351fe2ea8684919d36df3188b9a35e3926f)
  6. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2b985d3a024b9e8c24e21671b34e855569763808)
  7. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1576ff3869cbd3620717195f971c85b7d7fd62b5)
  8. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/446ee446d9ae66f36e95c3c90bbcc4e56b94cde0)
  9. 関連文書 : xen/privcmd: fix double free via VMA splitting - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/71bf829800758a6e3889096e4754ef47ba7fc850)
更新履歴

  • [2026年05月08日]
      掲載