In the Linux kernel, the following vulnerability has been resolved:
fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling
A SOFTIRQ-safe to SOFTIRQ-unsafe lock order deadlock can occur in send_sigio() and send_sigurg() when a process group receives a signal.
When FASYNC is configured for a process group (PIDTYPE_PGID), both functions use read_lock(&tasklist_lock) to traverse the task list. However, they are frequently called from softirq context: - send_sigio() via input_inject_event -> kill_fasync - send_sigurg() via tcp_check_urg -> sk_send_sigurg (NET_RX_SOFTIRQ)
The deadlock is caused by the rwlock writer fairness mechanism: 1. CPU 0 (process context) holds read_lock(&tasklist_lock) in do_wait(). 2. CPU 1 (process context) attempts write_lock(&tasklist_lock) in fork() or exit() and spins, which blocks all new readers. 3. CPU 0 is interrupted by a softirq (e.g., TCP URG packet reception). 4. The softirq calls send_sigurg() and attempts to acquire read_lock(&tasklist_lock), deadlocking because CPU 1 is waiting.
Since PID hashing and do_each_pid_task() traversals are already RCU-protected, the read_lock on tasklist_lock is no longer strictly required for safe traversal. Fix this by replacing tasklist_lock with rcu_read_lock(), aligning the process group signaling path with the single-PID path. This also mitigates a potential remote denial of service vector via TCP URG packets.
Lockdep splat: ===================================================== WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected [...] Chain exists of: &dev->event_lock --> &f_owner->lock --> tasklist_lock
Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(tasklist_lock); local_irq_disable(); lock(&dev->event_lock); lock(&f_owner->lock); <Interrupt> lock(&dev->event_lock);
*** DEADLOCK ***
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-develUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.15.210-148.245Upgrade kernel-toolsUpgrade perf-debuginfoUpgrade bpftoolUpgrade kernel-debuginfoUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernelUpgrade kernel-livepatch-5.10.259-258.1043Upgrade python-perfUpgrade kernel-headersUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python-perf-debuginfo | Jul 8, 2026 | Jul 8, 2026 |
| Amazon_linux_2023 | — | Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-develUpgrade perf-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.18-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade python3-perf6.12Upgrade kernel6.18-debuginfo-common-aarch64Upgrade python3-perfUpgrade kernel-livepatch-6.1.176-220.358Upgrade kernel6.12-toolsUpgrade microvm-kernel6.18Upgrade perf6.12-debuginfoUpgrade kernel6.18Upgrade kernel6.18-headersUpgrade kernel6.12-tools-develUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.18-toolsUpgrade kernel-develUpgrade kernel-tools-develUpgrade kernel6.18-modules-extraUpgrade bpftoolUpgrade bpftool6.18Upgrade python3-perf6.18-debuginfoUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.12-modules-extraUpgrade kernel-livepatch-6.18.36-69.134Upgrade kernel-headersUpgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade kernel6.18-modules-extra-commonUpgrade kernelUpgrade kernel-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.18-tools-develUpgrade kernel6.12-debuginfo-common-aarch64Upgrade perf6.18-debuginfoUpgrade kernel6.12-headersUpgrade perf6.12Upgrade kernel6.18-develUpgrade perf6.18Upgrade kernel-modules-extra-commonUpgrade kernel6.12Upgrade python3-perf6.18Upgrade kernel6.18-tools-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel-livepatch-6.12.94-123.174Upgrade kernel-debuginfo-common-x86_64Upgrade bpftool6.18-debuginfoUpgrade bpftool6.12 | Jul 8, 2026 | Jun 24, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 5, 2026 | Jul 5, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Jun 24, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 6, 2026 | Jun 24, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub