【活用ガイド】

JVNDB-2026-025016

LinuxのLinux Kernelにおける競合状態に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。powerpc/64s: PMDマイグレーションエントリとのアンマップ競合の修正です。マイグレーションスワップエントリやデバイス専用のTHPエントリにおいて、以下のような競合が発生する可能性があります。例えば、move_pagesがPMD THPページに対して呼び出された場合、中間状態としてPMDエントリがマイグレーションスワップエントリとして機能することがあります(pmd_present()はtrueです)。このときに同時にmunmapが実行されると、pmdp_huge_get_and_clear_full()内でVM_BUG_ON()が発生することがあります。このパッチはこの問題を修正します。スレッドAでは、move_pages() システムコールが呼び出され、add_folio_for_migration()、mmap_read_lock(mm)、folio_isolate_lru(folio)、mmap_read_unlock(mm)、do_move_pages_to_node()、migrate_pages()、try_to_migrate_one()、spin_lock(ptl)、set_pmd_migration_entry()、pmdp_invalidate()(PMD: _PAGE_INVALID | _PAGE_PTE | pfn)、set_pmd_at()(PMD: マイグレーションスワップエントリ (pmd_present=0))、spin_unlock(ptl)まで実行され、その後ページコピー段階に進みます(これが競合時間窓です)。一方、スレッドBではmunmap()が呼び出され、mmap_write_downgrade(mm)、unmap_vmas() -> zap_pmd_range()、zap_huge_pmd()、__pmd_trans_huge_lock()、pmd_is_huge()(!pmd_present && !pmd_noneがTRUE、つまりスワップエントリです)、pmd_lock() -> spin_lock(ptl)(ここでスレッドAのptl解放を待ちます)、pmdp_huge_get_and_clear_full()、そしてVM_BUG_ON(!pmd_present(*pmdp))が実行されます。この時にエラーが発生しました。ログに見られるように、PowerPC 64sアーキテクチャにおいてこの問題はkernel BUGを引き起こし、システムの安定性に影響を及ぼす可能性がありました。また、commit a30b48bf1b24("mm/migrate_device: implement THP migration of zone device pages")により、デバイス専用のPMDエントリでもマイグレーションが有効化され、この警告が発生する他の経路も存在することが確認されています。この修正により、アンマップとマイグレーションエントリの競合によるクラッシュを防止し、PowerPC 64s環境における信頼性が向上しました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.8 以上 7.0.10 未満

想定される影響

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

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

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

  1. 競合状態(CWE-362) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-53108
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53108
  2. 関連文書 : powerpc/64s: Fix unmap race with PMD migration entries - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bbcbf045d6c778e82b47a35fc8728387708e9a3d)
  3. 関連文書 : powerpc/64s: Fix unmap race with PMD migration entries - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/829367e55012c053738ebe7db20c4a90d6609ece)
更新履歴

  • [2026年07月24日]
      掲載