【活用ガイド】

JVNDB-2026-028277

LinuxのLinux Kernelにおける初期化されていないリソースの使用に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。mm/page_alloc: init_on_freeを使用した巨大ゼロフォリオのタグ初期化の修正です。__GFP_ZEROTAGSの意味合いは現在少し曖昧ですが、実質的にはこのフラグは__GFP_ZEROおよび__GFP_SKIP_KASANと共にのみ設定されます。init_on_freeを有効にすると、__free_pages_prepare()の段階でページをゼロクリアし、割り当て時のゼロクリアを省略します。しかし、__GFP_ZEROTAGSが設定された状態で割り当てを行うと、post_alloc_hook()はページ内容のクリアをスキップするだけでなく、タグメモリのクリアもスキップしてしまいます。多くのページは後にset_pte_at()を介してユーザ空間にマッピングされるため、タグが未初期化(PG_mte_taggedが設定されていない)と検出され、set_pte_at()などによってタグは初期化されます。このため、__GFP_ZEROTAGSによるタグの未クリアはほとんどの場合問題になりません。しかしながら、巨大ゼロフォリオは特殊としてマークされたPMDを通してマッピングされるため、この初期化は行われず、ページに設定されたタグがそのまま露出します。ドキュメント(Documentation/arch/arm64/memory-tagging-extension.rst)には、ページが最初にユーザ空間にマップされる際に割り当てタグは0に設定されると記述されていますが、init_on_freeが有効な巨大ゼロフォリオではこの前提が成り立ちません。この問題は、__GFP_ZEROTAGSを__GFP_ZEROから切り離し、tag_clear_highpages()にページ内容もクリアするかどうかを渡す形で修正されました。また、tag_clear_highpages()の返り値の意味を反転させ、より明確な意味合いに変更しています。この問題は、arm64/mteのselftestであるcheck_buffer_fillにおいて2MiBエリアを使用するように変更し、解放時にページに非0のタグが設定されていることを確認した上で巨大ゼロフォリオで再現されました(なお、ブート中は実際にタグは初期化されず、ページフラグにKASAN_TAG_KERNELが設定されるのみです)。 $ ./check_buffer_fill 1..20 ... not ok 17 Check initial tags with private mapping, sync error mode and mmap memory not ok 18 Check initial tags with private mapping, sync error mode and mmap/mprotect memory ...この修正コードはさらなる整理が必要であり、__GFP_ZEROTAGSを__GFP_SKIP_KASANから切り離すなどの作業を次に進める予定です。[akpm@linux-foundation.org: s/__GPF_ZERO/__GFP_ZERO/、Davidによる修正指示に準拠]
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.18.1 以上 6.18.34 未満
  • Linux Kernel 6.19 以上 7.0.11 未満
  • Linux Kernel 6.18
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

  1. 初期化されていないリソースの使用(CWE-908) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-64130
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-64130
  2. 関連文書 : mm/page_alloc: fix initialization of tags of the huge zero folio with init_on_free - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6a288a4ddb4a994490505ab5f41c445f8e6b6467)
  3. 関連文書 : mm/page_alloc: fix initialization of tags of the huge zero folio with init_on_free - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/738d18f1da3513d17b6f7bf30146cc4ac2480ffd)
  4. 関連文書 : mm/page_alloc: fix initialization of tags of the huge zero folio with init_on_free - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2f2aec5120b93a8f8b52dc50cdc60dbb8aec72f6)
更新履歴

  • [2026年08月17日]
      掲載