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-livepatch-5.10.259-258.1043Upgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade python-perf-debuginfoUpgrade python-perfUpgrade kernelUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade kernel-develUpgrade perfUpgrade kernel-livepatch-5.15.210-148.245Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-debuginfo | Jul 8, 2026 | Jul 8, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel6.18-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernel6.12-toolsUpgrade kernel6.18-modules-extraUpgrade perf6.12-debuginfoUpgrade microvm-kernel6.18Upgrade kernel-livepatch-6.1.176-220.358Upgrade kernel-tools-develUpgrade kernel-develUpgrade kernel6.12-tools-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel-debuginfoUpgrade bpftoolUpgrade kernel6.18-toolsUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-tools-develUpgrade kernel6.18-headersUpgrade perfUpgrade perf-debuginfoUpgrade python3-perfUpgrade kernel6.12-develUpgrade python3-perf6.12Upgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel-debuginfo-common-aarch64Upgrade kernel6.18Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-debuginfo-common-aarch64Upgrade perf6.18-debuginfoUpgrade kernel6.18-tools-develUpgrade kernel-modules-extraUpgrade python3-perf-debuginfoUpgrade kernel6.12Upgrade kernel6.12-modules-extraUpgrade bpftool-debuginfoUpgrade kernel6.18-tools-debuginfoUpgrade bpftool6.12Upgrade kernel6.12-debuginfoUpgrade kernel-livepatch-6.12.94-123.174Upgrade kernel-debuginfo-common-x86_64Upgrade python3-perf6.18Upgrade kernel-livepatch-6.18.36-69.134Upgrade kernel-headersUpgrade bpftool6.18Upgrade python3-perf6.18-debuginfoUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-modules-extra-commonUpgrade kernelUpgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade bpftool6.18-debuginfoUpgrade perf6.18Upgrade perf6.12Upgrade kernel6.18-develUpgrade kernel6.12-headers | Jul 8, 2026 | Jun 24, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | 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