【活用ガイド】

JVNDB-2026-021375

LinuxのLinux Kernelにおける無限ループに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。arm64: contpteにおけるSMMU/ATSのフォルトに対するset_access_flags()の無効処理チェックが修正されました。contpte_ptep_set_access_flags()は、収集したptep_get()の値と要求されたエントリを比較して無効処理(no-op)を検出していました。ptep_get()はCONTブロック内のすべてのサブPTEからAF/dirtyをOR演算するため、兄弟のサブPTEがdirtyであるとターゲットが既にdirtyと見なされることがあります。収集した値がエントリと一致すると、ターゲットのサブPTEがハードウェア上でPTE_RDONLYを保持していても関数は0を返します。FEAT_HAFDBSを持つCPUでは、この収集されたビューに問題はありません。なぜならハードウェアは任意のサブPTEにAF/dirtyを設定でき、CPUのTLB動作はCONT範囲全体で効果的に収集されるためです。しかし、各ディスクリプタを個別に評価するページテーブルウォーカー(例えばDBM未対応のCPU、HTTU無しのSMMU、またはCD.TCRでHA/HDが無効な場合)は、変更されていないターゲットのサブPTEでフォルトを繰り返し無限フォルトループを引き起こす可能性があります。したがって、収集が兄弟のサブPTEのみが更新された場合に誤った無効処理を引き起こすことがあります。例えば、書き込みフォルトの場合、ターゲットは依然としてPTE_RDONLYを保持しており(PTE_RDONLY解除が必要です)、読み取りフォルトの場合はターゲットが依然としてPTE_AFを欠いています。修正として、無効処理を返す前に要求されたAF/dirty/write状態(__ptep_set_access_flags()と同じビット)に対して各サブPTEを生のPTE値でチェックするようにしました。書き込みビット展開の決定には引き続き生のターゲットPTEを使用します。Arm ARM(DDI 0487) D8.7.1("The Contiguous bit")によると、CONT範囲内の任意のサブPTEが有効なキャッシュ済み変換となる可能性があるため、ソフトウェアは範囲全体で一貫した属性を維持しなければなりません。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.13 以上 6.18.19 未満
  • Linux Kernel 6.19 以上 6.19.9 未満
  • Linux Kernel 6.9 以上 6.12.78 未満
  • Linux Kernel 7.0

想定される影響

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

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

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

  1. 無限ループ(CWE-835) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-43486
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-43486
  2. 関連文書 : arm64: contpte: fix set_access_flags() no-op check for SMMU/ATS faults - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/09d620555e59768776090073a2c59d2bc8506eb3)
  3. 関連文書 : arm64: contpte: fix set_access_flags() no-op check for SMMU/ATS faults - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6f92a7a8b48a523f910ef25dd83808710724f59b)
  4. 関連文書 : arm64: contpte: fix set_access_flags() no-op check for SMMU/ATS faults - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/97c5550b763171dbef61e6239cab372b9f9cd4a2)
  5. 関連文書 : arm64: contpte: fix set_access_flags() no-op check for SMMU/ATS faults - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/05d239f2c95e66e27e7fb4e99ee07eb56e3e34b0)
更新履歴

  • [2026年06月29日]
      掲載