【活用ガイド】

JVNDB-2026-016877

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:cgroupにおけるタスクの移動とイテレーション間の競合状態の修正です。タスクがcss_setから移動される際、cgroup_migrate_add_task()は最初にlist_move_tail(&task-cg_list, &cset-mg_tasks);を通じてcset-tasksからcset-mg_tasksへタスクを移動します。もしcss_task_iterが現在it-task_posでこのタスクを指している場合、css_set_move_task()はイテレータを有効に保つためcss_task_iter_skip()を呼び出します。しかし、タスクはすでに-mg_tasksへ移動しているため、イテレータは元のtasksリストではなくmg_tasksリストに対して進められてしまいます。その結果、cset-tasks上の残りのタスクやcset-mg_tasksにキューイングされたタスクがイテレーションでスキップされる可能性があります。これを修正するために、task-cg_listをcset-tasksから切り離す前にcss_set_skip_task_iters()を呼び出します。これにより、すべてのアクティブなイテレータがcset-tasks上の次のタスクへ進み、タスクが同時に移動されている場合でもイテレーションを正しく継続できます。この競合は実際には計測なしでは発生しにくいものの、cgroup_procs_show()を人工的に遅延させることで再現可能です。例えばAndroidデバイスでは、一時的に/sys/kernel/cgroup/cgroup_testのノブを追加してcgroup_procs_show()に遅延を注入し、次の手順を行います:1) 3つの長時間実行タスク(PID 101, 102, 103)を生成します。2) テスト用cgroupを作成し、それらのタスクを移動します。3) /sys/kernel/cgroup/cgroup_test経由で大きな遅延を有効化します。4) 1つのシェルでテストcgroupからcgroup.procsを読み取ります。5) 遅延時間内に別のシェルでPID 102を異なるcgroup.procsファイルへ書き込み移動させます。この構成下で、cgroup.procsは断続的にPID 101のみを表示しPID 103をスキップすることがあります。移動が完了すると、再度ファイルを読むと期待通りすべてのタスクが表示されます。なお、この変更ではcss_set_move_task()内の既存のcss_set_skip_task_iters()呼び出しを除去できません。cgroup_migrate_add_task()内の新規呼び出しは、タスクがまだcset-tasks上にある間に移動と競合するイテレータのみを扱います。一方で、タスクがすでにcset-mg_tasksへ移動した後にイテレータが開始される場合もあります。もしcss_set_move_task()からcss_set_skip_task_iters()を削除すると、そのようなイテレータは移動中のタスクを指し続け、css_task_iter_advance()が移動先のcss_set上で誤動作(クラッシュや無限ループを含む)を引き起こす恐れがあります。移動とイテレーションの競合時間は非常に短く、css_task_iterはホットパスではありません。最悪の場合、移動中のプロセスの最初のスレッドにイテレータが位置している際に、cgroup_migrate_add_task()はcss_set_skip_task_iters()を使用して複数のタスクをスキップする必要があります。しかしこれは移動とイテレーションが実際に競合した時のみ発生するため、本修正による性能影響は正当な修正効果に比べて無視できる程度です。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 4.14.138 以上 4.15 未満
  • Linux Kernel 4.19.66 以上 4.20 未満
  • Linux Kernel 5.11 以上 5.15.203 未満
  • Linux Kernel 5.16 以上 6.1.167 未満
  • Linux Kernel 5.2.1 以上 5.10.253 未満
  • Linux Kernel 6.13 以上 6.18.19 未満
  • Linux Kernel 6.19 以上 6.19.9 未満
  • Linux Kernel 6.2 以上 6.6.130 未満
  • Linux Kernel 6.7 以上 6.12.78 未満
  • Linux Kernel 5.2
  • Linux Kernel 7.0

想定される影響

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

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

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

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

  1. CVE-2026-43439
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-43439
  2. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9dc76f6fc0d28d2382583715bc4ec22f28104845)
  3. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3dfd1328c05234e8d8fa61948b2ba82680594988)
  4. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7c85debc35e6d131bd29c64f2ae78c6ede0e55c4)
  5. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4a9654a2b46cfdaae287fb8995f536245635e467)
  6. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/5ee01f1a7343d6a3547b6802ca2d4cdce0edacb1)
  7. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3b95abab7369235a37b15eaec6e1a0b443bba7c7)
  8. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/86ceaccfdfa16dad05addb33dc206e03589bcfd1)
  9. 関連文書 : cgroup: fix race between task migration and iteration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9cca530c7cc1b3e02cb8fa7f80060dd4b38562ce)
更新履歴

  • [2026年05月25日]
      掲載