Executive brief
A vulnerability in the Linux kernel's journaling block device (jbd2) can cause the system to experience a 'soft lockup,' where the processor becomes stuck in a specific task for an extended period. This component is responsible for ensuring file system integrity during data writes. If exploited, this could lead to a complete system hang or denial of service, impacting the availability of servers and industrial control systems like Siemens SIMATIC controllers.
Technical details
A soft lockup vulnerability exists in the jbd2_log_do_checkpoint() function within the Linux kernel's JBD2 subsystem. The issue stems from the function failing to explicitly call cond_resched() during prolonged operations while contending for the j_list_lock. While the function releases the lock periodically, it relies on sub-functions to trigger rescheduling; if these sub-functions do not sleep, the CPU can remain stuck in a loop for over 150 seconds. A local attacker could potentially trigger this condition to cause a denial of service (system hang). The fix involves adding an explicit cond_resched() call to ensure the scheduler can preempt the task.
Affected products
- Linux Linux Kernel 6.6.0+; fixed in 6.1.107, 6.6.48, 6.10.7, 6.11-rc5
- Siemens SIMATIC CN 4100 before V5.0
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.6 and later
Timeline
- 2025-08-12: disclosed: Initial patch submission by Baokun Li
- 2025-08-28: patched: Commits merged into stable kernel branches
- 2025-09-11: advisory: CVE-2025-39782 published
References
- https://git.kernel.org/stable/c/26cb9aad94cb1811d8fae115594cc71fa3d91ab0
- https://git.kernel.org/stable/c/3faac5e1d14c63260fd1bf789d96bde3ab3d9e54
- https://git.kernel.org/stable/c/41f40038de62e8306897cf6840791b268996432a
- https://git.kernel.org/stable/c/429d50cbaff45090d52a1ea850d5de8c14881ee7
- https://git.kernel.org/stable/c/84ff98c1ea19acd3f9389e4bb6061364e943f85e
- https://git.kernel.org/stable/c/9d98cf4632258720f18265a058e62fde120c0151
- https://git.kernel.org/stable/c/f683d611518d30334813eecf9a8c687453e2800e