【活用ガイド】

JVNDB-2025-024965

Debian等の複数ベンダの製品におけるリソースのロックに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。 jbd2_log_do_checkpoint()におけるソフトロックアップを防止しました。 jbd2_log_do_checkpoint()およびjbd2_journal_shrink_checkpoint_list()は共に、バッファのバッチ処理後にj_list_lockを長時間保持しないように、定期的にj_list_lockを解放します。しかし、両関数はj_list_lockを競合して使用するため、待機時間と処理時間の合計が長くなる可能性があります。 jbd2_journal_shrink_checkpoint_list()は、need_resched()がtrueの場合に明示的にcond_ressched()を呼び出し、長時間の処理中のソフトロックアップを回避します。一方、jbd2_log_do_checkpoint()はneed_resched()がtrueになる時にのみループを終了し、__flush_batch()やwait_on_buffer()のようなスリープ可能な関数がスケジューリングを引き起こすことに依存していました。これらの関数がスリープしない場合、カーネルはソフトロックアップに陥る可能性がありました。 以下のようなエラーメッセージが発生しました。 watchdog: BUG: soft lockup - CPU#3 stuck for 156s! [kworker/u129:2:373] CPU: 3 PID: 373 Comm: kworker/u129:2 Kdump: loaded Not tainted 6.6.0+ #10 Hardware name: Huawei TaiShan 2280 /BC11SPCD, BIOS 1.27 06/13/2017 Workqueue: writeback wb_workfn (flush-7:2) pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : native_queued_spin_lock_slowpath+0x358/0x418 lr : jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] Call trace: native_queued_spin_lock_slowpath+0x358/0x418 jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] __jbd2_log_wait_for_space+0xfc/0x2f8 [jbd2] add_transaction_credits+0x3bc/0x418 [jbd2] start_this_handle+0xf8/0x560 [jbd2] jbd2__journal_start+0x118/0x228 [jbd2] __ext4_journal_start_sb+0x110/0x188 [ext4] ext4_do_writepages+0x3dc/0x740 [ext4] ext4_writepages+0xa4/0x190 [ext4] do_writepages+0x94/0x228 __writeback_single_inode+0x48/0x318 writeback_sb_inodes+0x204/0x590 __writeback_inodes_wb+0x54/0xf8 wb_writeback+0x2cc/0x3d8 wb_do_writeback+0x2e0/0x2f8 wb_workfn+0x80/0x2a8 process_one_work+0x178/0x3e8 worker_thread+0x234/0x3b8 kthread+0xf0/0x108 ret_from_fork+0x10/0x20 このため、jbd2_log_do_checkpoint()内で明示的にcond_resched()を呼び出し、ソフトロックアップを回避するように修正しました。
CVSS による深刻度 (CVSS とは?)

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


Debian
  • Debian GNU/Linux 11.0
Linux
  • Linux Kernel 2.6.16 以上 5.4.297 未満
  • Linux Kernel 5.11 以上 5.15.190 未満
  • Linux Kernel 5.16 以上 6.1.149 未満
  • Linux Kernel 5.5 以上 5.10.241 未満
  • Linux Kernel 6.13 以上 6.16.4 未満
  • Linux Kernel 6.2 以上 6.6.103 未満
  • Linux Kernel 6.7 以上 6.12.44 未満
  • Linux Kernel 6.17

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

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

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

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

  1. 不適切なロック(CWE-667) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2025-39782
参考情報

  1. National Vulnerability Database (NVD) : CVE-2025-39782
  2. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f7ee8fd689e6d534f9fd2494b9266f7998082e65)
  3. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3faac5e1d14c63260fd1bf789d96bde3ab3d9e54)
  4. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/84ff98c1ea19acd3f9389e4bb6061364e943f85e)
  5. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/41f40038de62e8306897cf6840791b268996432a)
  6. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/429d50cbaff45090d52a1ea850d5de8c14881ee7)
  7. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/26cb9aad94cb1811d8fae115594cc71fa3d91ab0)
  8. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9d98cf4632258720f18265a058e62fde120c0151)
  9. 関連文書 : jbd2: prevent softlockup in jbd2_log_do_checkpoint() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f683d611518d30334813eecf9a8c687453e2800e)
更新履歴

  • [2026年01月19日]
      掲載