CVE-2026-52946

HIGHPre-NVD 7.57.5—
EchelonGraph scoreMEDIUM confidence

Score 7.5 from GitHub Security Advisory (severity: HIGH) published 2026-06-24. a secondary CVSS source baseline 7.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
7.5EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.5%CVSS: 7.5Exploit: None knownExposed services: Not assessed

A fix is available — apply it.

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:

  • CPU 0 (process context) holds read_lock(&tasklist_lock) in do_wait().
  • CPU 1 (process context) attempts write_lock(&tasklist_lock) in
fork() or exit() and spins, which blocks all new readers.
  • CPU 0 is interrupted by a softirq (e.g., TCP URG packet reception).
  • 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); lock(&dev->event_lock);

* DEADLOCK *

CVSS v3
7.5
EG Score
7.5HIGHmedium confidence
EG Risk
38
EG Risk 38/100

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity75% × 45%
Exploitation0% × 40%
Automatability30% × 15%
EPSS PROB
0.5%
EPSS %ILE
38th
KEV
Not listed

Published

June 24, 2026

Last Modified

September 8, 2026

Advisory Details (8)

Auto-updated Jun 28, 2026
Patch available.
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/bfcc8e8d8a495bb34cae9e620adfb75fb13a3954
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/b5fa9e32fb6718f70c986ee14dd5d01b4846f331
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/897d6a7247739fb1528f98c575df4f2e5de7f994
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/54626335ea4174ab2d9a183b511d825f6765e47b
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/36c1b57b2ecf3c61ac93f5f07bd29b6f21e226ed
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/32dbd5ce4be3a3ed7e00f8af18795cc84fc50a33
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/20a93e397abe850c49b6fa0e8cc827b5f634a8f5
generic

fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/1bee417678f1135e35b25a37734db46aa94258d2

Vendor Advisories for CVE-2026-52946(2)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(5 across 4 ecosystems)
Debian:11(2)
PackageVulnerable rangeFix by version rangeDependents
linux5.10.103-1 ... 5.10.92-2 (54 versions)
  • every version up to 5.10.259-1: fixed in 5.10.259-1
—
linux-6.16.1.106-3~deb11u1 ... 6.1.174-1~deb11u1 (20 versions)
  • every version up to 6.1.176-1~deb11u1: fixed in 6.1.176-1~deb11u1
—
Debian:12(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.1.106-1 ... 6.1.99-1 (53 versions)
  • every version up to 6.1.176-1: fixed in 6.1.176-1
—
Debian:13(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.38-1 ... 6.12.94-1~bpo12+1 (27 versions)
  • every version up to 6.12.94-1: fixed in 6.12.94-1
—
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.0.9-1~bpo13+1 (146 versions)
  • every version up to 7.0.13-1: fixed in 7.0.13-1
—

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 7× in last 7d / 31× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 244 total refreshes for this CVE.

  1. 2026-10-10 20:00 UTCEPSS rescore
  2. 2026-10-09 20:07 UTCEPSS rescore
  3. 2026-10-08 17:12 UTCEPSS rescore
  4. 2026-10-07 23:48 UTCEPSS rescore
  5. 2026-10-06 15:18 UTCEPSS rescore
  6. 2026-10-05 17:43 UTCEPSS rescore
  7. 2026-10-04 23:22 UTCEPSS rescore
  8. 2026-10-03 14:26 UTCEPSS rescore
  9. 2026-10-02 17:56 UTCEPSS rescore
  10. 2026-10-01 19:50 UTCEPSS rescore
  11. 2026-09-30 15:03 UTCEPSS rescore
  12. 2026-09-29 15:22 UTCEPSS rescore
  13. 2026-09-28 13:51 UTCEPSS rescore
  14. 2026-09-27 13:48 UTCEPSS rescore
  15. 2026-09-26 15:59 UTCEPSS rescore
  16. 2026-09-26 00:27 UTCEPSS rescore
  17. 2026-09-23 17:53 UTCEPSS rescore
  18. 2026-09-23 11:47 UTCEG score recompute
  19. 2026-09-23 11:47 UTCGHSA enrichment
  20. 2026-09-20 20:16 UTCEPSS rescore
  21. 2026-09-18 19:28 UTCEPSS rescore
  22. 2026-09-18 08:09 UTCEG score recompute
  23. 2026-09-18 08:09 UTCGHSA enrichment
  24. 2026-09-16 14:08 UTCEPSS rescore
  25. 2026-09-16 05:15 UTCEPSS rescore
Show 75 more
  1. 2026-09-14 01:57 UTCEG score recompute
  2. 2026-09-14 01:57 UTCGHSA enrichment
  3. 2026-09-13 16:47 UTCEPSS rescore
  4. 2026-09-13 12:01 UTCEG score recompute
  5. 2026-09-13 12:01 UTCGHSA enrichment
  6. 2026-09-11 14:53 UTCEPSS rescore
  7. 2026-09-10 09:35 UTCEPSS rescore
  8. 2026-09-08 22:01 UTCEPSS rescore
  9. 2026-09-08 09:44 UTCEG score recompute
  10. 2026-09-08 09:44 UTCGHSA enrichment
  11. 2026-09-08 08:59 UTCEG score recompute
  12. 2026-09-08 08:59 UTCGHSA enrichment
  13. 2026-09-07 16:01 UTCEPSS rescore
  14. 2026-09-06 13:47 UTCEPSS rescore
  15. 2026-09-04 05:06 UTCEPSS rescore
  16. 2026-09-02 14:12 UTCEPSS rescore
  17. 2026-09-01 13:54 UTCEPSS rescore
  18. 2026-09-01 04:40 UTCEPSS rescore
  19. 2026-08-30 20:19 UTCEG score recompute
  20. 2026-08-30 20:19 UTCGHSA enrichment
  21. 2026-08-30 19:17 UTCEPSS rescore
  22. 2026-08-30 01:22 UTCEPSS rescore
  23. 2026-08-28 21:41 UTCEPSS rescore
  24. 2026-08-28 04:49 UTCEG score recompute
  25. 2026-08-28 04:49 UTCGHSA enrichment
  26. 2026-08-27 14:25 UTCEPSS rescore
  27. 2026-08-26 14:46 UTCEPSS rescore
  28. 2026-08-25 13:49 UTCEPSS rescore
  29. 2026-08-25 01:55 UTCEG score recompute
  30. 2026-08-25 01:55 UTCGHSA enrichment
  31. 2026-08-24 13:46 UTCEG score recompute
  32. 2026-08-24 13:46 UTCGHSA enrichment
  33. 2026-08-24 01:37 UTCGHSA enrichment
  34. 2026-08-23 13:27 UTCGHSA enrichment
  35. 2026-08-23 01:16 UTCEG score recompute
  36. 2026-08-23 01:15 UTCGHSA enrichment
  37. 2026-08-23 00:19 UTCEPSS rescore
  38. 2026-08-22 13:10 UTCEG score recompute
  39. 2026-08-22 13:10 UTCGHSA enrichment
  40. 2026-08-21 23:49 UTCEPSS rescore
  41. 2026-08-21 19:52 UTCGHSA enrichment
  42. 2026-08-21 07:46 UTCEG score recompute
  43. 2026-08-21 07:46 UTCGHSA enrichment
  44. 2026-08-20 22:55 UTCEPSS rescore
  45. 2026-08-20 19:40 UTCGHSA enrichment
  46. 2026-08-20 07:34 UTCEG score recompute
  47. 2026-08-20 07:34 UTCGHSA enrichment
  48. 2026-08-19 17:04 UTCEPSS rescore
  49. 2026-08-19 14:52 UTCGHSA enrichment
  50. 2026-08-19 02:16 UTCEG score recompute
  51. 2026-08-19 02:16 UTCGHSA enrichment
  52. 2026-08-18 13:48 UTCEPSS rescore
  53. 2026-08-17 13:47 UTCEPSS rescore
  54. 2026-08-17 05:24 UTCGHSA enrichment
  55. 2026-08-16 17:05 UTCEG score recompute
  56. 2026-08-16 17:05 UTCGHSA enrichment
  57. 2026-08-16 14:56 UTCEPSS rescore
  58. 2026-08-16 04:59 UTCEG score recompute
  59. 2026-08-16 04:59 UTCGHSA enrichment
  60. 2026-08-16 02:14 UTCEPSS rescore
  61. 2026-08-15 16:53 UTCGHSA enrichment
  62. 2026-08-15 04:47 UTCEG score recompute
  63. 2026-08-15 04:47 UTCGHSA enrichment
  64. 2026-08-15 01:30 UTCEPSS rescore
  65. 2026-08-14 16:40 UTCGHSA enrichment
  66. 2026-08-14 04:21 UTCEG score recompute
  67. 2026-08-14 04:21 UTCGHSA enrichment
  68. 2026-08-13 22:00 UTCEPSS rescore
  69. 2026-08-13 16:15 UTCGHSA enrichment
  70. 2026-08-13 03:18 UTCGHSA enrichment
  71. 2026-08-12 15:12 UTCEG score recompute
  72. 2026-08-12 15:12 UTCGHSA enrichment
  73. 2026-08-12 13:51 UTCEPSS rescore
  74. 2026-08-12 03:06 UTCGHSA enrichment
  75. 2026-08-11 15:00 UTCEG score recompute

Frequently asked(5)

What is CVE-2026-52946?
CVE-2026-52946 is a high vulnerability published on June 24, 2026. 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 sendsigio() and sendsigurg() when a process group receives a signal. When FASYNC is configured for a…
When was CVE-2026-52946 disclosed?
CVE-2026-52946 was first published on June 24, 2026, with the most recent update on September 8, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-52946 actively exploited?
CVE-2026-52946 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.5% probability of exploitation in the next 30 days (38th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-52946?
CVE-2026-52946 has a CVSS base score of 7.5 (a secondary CVSS source that NVD displays; NVD's own analysis pending).
How do I remediate CVE-2026-52946?
A fix for CVE-2026-52946 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2026-52946 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-52946

Explore →

Is Your Infrastructure Affected by CVE-2026-52946?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.