【活用ガイド】

JVNDB-2026-024885

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

概要

Linuxカーネルにおいて、以下の脆弱性が解決されました。signal: zap_other_threads()内で呼び出し元スレッドのJOBCTL_PENDING_MASKをクリアするマルチスレッドプロセスが停止シグナル(例:SIGSTOP)を受け取ると、do_signal_stop()は全てのスレッドに対してJOBCTL_STOP_PENDINGおよびJOBCTL_STOP_CONSUMEを設定し、signal->group_stop_countにスレッド数をセットします。もしスレッドの一つが同時にexecve()を呼び出した場合、de_thread()はzap_other_threads()を呼び出して他の全スレッドを終了させます。zap_other_threads()は保留中のグループ停止状態を中止するためにsignal->group_stop_countを0にリセットし、他のスレッドのJOBCTL_PENDING_MASKをクリアします。しかし、呼び出し元スレッドのジョブ制御フラグのクリアは行いません。execve()の完了後、呼び出し元スレッドはユーザーモードに戻り、保留中のシグナルをチェックします。そこで古いJOBCTL_STOP_PENDINGフラグを検出すると、do_signal_stop()を呼び出しtask_participate_group_stop()を実行します。JOBCTL_STOP_CONSUMEが依然としてセットされているため、すでにゼロであるsignal->group_stop_countを減らそうとし、その結果以下の警告が発生します。sig->group_stop_count == 0 WARNING: CPU: 1 PID: 6475 at kernel/signal.c:373 task_participate_group_stop+0x215/0x2d0 Call Trace: <TASK> do_signal_stop+0x3be/0x5c0 kernel/signal.c:2619 get_signal+0xa8c/0x1330 kernel/signal.c:2884 arch_do_signal_or_restart+0xbc/0x840 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop+0x8c/0x4d0 kernel/entry/common.c:98 do_syscall_64+0x33e/0xf80 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> この競合状態は、zap_other_threads()内で呼び出し元スレッドのJOBCTL_PENDING_MASKをクリアすることで修正され、スレッドグループ破棄後に古いジョブ制御状態を保持しないようにしました。これはzap_process()やcomplete_signal()など、スレッドグループを解体しグループ停止を中止する他の関数とも整合しています。これらの関数は現在のスレッドを含む全てのスレッドのフラグを正しくクリアしています。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 3.0 以上 5.10.259 未満
  • Linux Kernel 5.11 以上 5.15.210 未満
  • Linux Kernel 5.16 以上 6.1.176 未満
  • Linux Kernel 6.13 以上 6.18.36 未満
  • Linux Kernel 6.19 以上 7.0.13 未満
  • Linux Kernel 6.2 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.94 未満
  • Linux Kernel 7.1

想定される影響

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

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

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

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

  1. CVE-2026-53352
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-53352
  2. 関連文書 : signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f8d720bc2e35d568c18be0644e92a468de428370)
  3. 関連文書 : https://git.kernel.org/stable/c/391ebe74456a0f1d60b3ba4a8a64d9f44c1728fe
  4. 関連文書 : signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/90918794a4e2c3b440f8fcf3847765a8b1d81b25)
  5. 関連文書 : signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/76aebd9ef20078719dfd6282d3b06c27e900a65a)
  6. 関連文書 : signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8c046f36222c6ce1e0daef2c45c891c72602f8a1)
  7. 関連文書 : https://git.kernel.org/stable/c/2b32b2fb241435145ea199efac024540759d2495
  8. 関連文書 : signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/dfcd0ba14769d94d76ac9d9814b85e7fcacd4e29)
  9. 関連文書 : signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f4aae11abb449dc536269705d0419ec69480faa9)
更新履歴

  • [2026年07月24日]
      掲載