CVE-2026-52991

HIGHPre-NVD 7.87.8
EchelonGraph scoreHIGH confidence

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

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 3 sources updated this week
7.8
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: 0%CVSS: 7.8Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

In the Linux kernel, the following vulnerability has been resolved:

sched/psi: fix race between file release and pressure write

A potential race condition exists between pressure write and cgroup file release regarding the priv member of struct kernfs_open_file, which triggers the uaf reported in [1].

Consider the following scenario involving execution on two separate CPUs:

CPU0 CPU1 ==== ==== vfs_rmdir() kernfs_iop_rmdir() cgroup_rmdir() cgroup_kn_lock_live() cgroup_destroy_locked() cgroup_addrm_files() cgroup_rm_file() kernfs_remove_by_name() kernfs_remove_by_name_ns() vfs_write() __kernfs_remove() new_sync_write() kernfs_drain() kernfs_fop_write_iter() kernfs_drain_open_files() cgroup_file_write() kernfs_release_file() pressure_write() cgroup_file_release() ctx = of->priv; kfree(ctx); of->priv = NULL; cgroup_kn_unlock() cgroup_kn_lock_live() cgroup_get(cgrp) cgroup_kn_unlock() if (ctx->psi.trigger) // here, trigger uaf for ctx, that is of->priv

The cgroup_rmdir() is protected by the cgroup_mutex, it also safeguards the memory deallocation of of->priv performed within cgroup_file_release(). However, the operations involving of->priv executed within pressure_write() are not entirely covered by the protection of cgroup_mutex. Consequently, if the code in pressure_write(), specifically the section handling the ctx variable executes after cgroup_file_release() has completed, a uaf vulnerability involving of->priv is triggered.

Therefore, the issue can be resolved by extending the scope of the cgroup_mutex lock within pressure_write() to encompass all code paths involving of->priv, thereby properly synchronizing the race condition occurring between cgroup_file_release() and pressure_write().

And, if an live kn lock can be successfully acquired while executing the pressure write operation, it indicates that the cgroup deletion process has not yet reached its final stage; consequently, the priv pointer within open_file cannot be NULL. Therefore, the operation to retrieve the ctx value must be moved to a point *after* the live kn lock has been successfully acquired.

In another situation, specifically after entering cgroup_kn_lock_live() but before acquiring cgroup_mutex, there exists a different class of race condition:

CPU0: write memory.pressure CPU1: write cgroup.pressure=0 =========================== =============================

kernfs_fop_write_iter() kernfs_get_active_of(of) pressure_write() cgroup_kn_lock_live(memory.pressure) cgroup_tryget(cgrp) kernfs_break_active_protection(kn) ... blocks on cgroup_mutex

cgroup_pressure_write() cgroup_kn_lock_live(cgroup.pressure) cgroup_file_show(memory.pressure, false) kernfs_show(false) kernfs_drain_open_files() cgroup_file_release(of) kfree(ctx) of->priv = NULL cgroup_kn_unlock()

... acquires cgroup_mutex ctx = of->priv; // may now be NULL if (ctx->psi.trigger) // NULL dereference

Consequently, there is a possibility that of->priv is NULL, the pressure write needs to check for this.

Now that the scope of the cgroup_mutex has been expanded, the original explicit cgroup_get/put operations are no longer necessary, this is because acquiring/releasing the live kn lock inherently executes a cgroup get/put operation.

[1] BUG: KASAN: slab-use-after-free in pressure_write+0xa4/0x210 kernel/cgroup/cgroup.c:4011 Call Trace: pressure_write+0xa4/0x210 kernel/cgroup/cgroup.c:4011 cgroup_file_write+0x36f/0x790 kernel/cgroup/cgroup.c:43 ---truncated---

CVSS v3
7.8
EG Score
7.8(high)
EG Risk
40(Track)
EG Risk 40/100SSVC: Track

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
Severity78% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS
1.4%
KEV
Not listed

Published

June 24, 2026

Last Modified

July 15, 2026

Advisory Details (3)

Auto-updated Jun 28, 2026
No patch confirmed yet.
generic

sched/psi: fix race between file release and pressure write - kernel/git/stable/linux.git - Linux kernel stable tree

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

sched/psi: fix race between file release and pressure write - kernel/git/stable/linux.git - Linux kernel stable tree

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

sched/psi: fix race between file release and pressure write - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/03dc070fa0fc3cb4068693f468ccd5f8a7e58282

Vendor Advisories for CVE-2026-52991(2)

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

Weakness Classification(2)

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

Data Freshness Timeline

(refreshed 8× in last 7d / 72× 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.

  1. 2026-07-23 14:18 UTCEPSS rescore
  2. 2026-07-23 03:19 UTCEG score recompute
  3. 2026-07-22 14:08 UTCEPSS rescore
  4. 2026-07-20 17:08 UTCEPSS rescore
  5. 2026-07-19 14:31 UTCEPSS rescore
  6. 2026-07-19 14:31 UTCEPSS rescore
  7. 2026-07-18 10:04 UTCEPSS rescore
  8. 2026-07-16 20:55 UTCGHSA enrichment
  9. 2026-07-16 17:03 UTCEPSS rescore
  10. 2026-07-16 08:23 UTCGHSA enrichment
  11. 2026-07-15 19:46 UTCGHSA enrichment
  12. 2026-07-15 16:57 UTCEPSS rescore
  13. 2026-07-15 16:57 UTCEPSS rescore
  14. 2026-07-15 07:14 UTCGHSA enrichment
  15. 2026-07-15 02:00 UTCEPSS rescore
  16. 2026-07-15 02:00 UTCEPSS rescore
  17. 2026-07-14 18:42 UTCGHSA enrichment
  18. 2026-07-14 06:08 UTCGHSA enrichment
  19. 2026-07-13 22:31 UTCEPSS rescore
  20. 2026-07-13 17:31 UTCGHSA enrichment
  21. 2026-07-13 06:13 UTCEPSS rescore
  22. 2026-07-13 06:13 UTCEPSS rescore
  23. 2026-07-13 04:58 UTCGHSA enrichment
  24. 2026-07-12 16:26 UTCGHSA enrichment
  25. 2026-07-12 05:46 UTCEPSS rescore
Show 47 more
  1. 2026-07-12 03:53 UTCGHSA enrichment
  2. 2026-07-11 15:21 UTCGHSA enrichment
  3. 2026-07-11 08:27 UTCEPSS rescore
  4. 2026-07-11 08:27 UTCEPSS rescore
  5. 2026-07-11 02:49 UTCGHSA enrichment
  6. 2026-07-10 14:17 UTCGHSA enrichment
  7. 2026-07-10 01:44 UTCGHSA enrichment
  8. 2026-07-09 19:10 UTCEPSS rescore
  9. 2026-07-09 19:10 UTCEPSS rescore
  10. 2026-07-09 13:11 UTCGHSA enrichment
  11. 2026-07-09 00:39 UTCGHSA enrichment
  12. 2026-07-08 15:16 UTCEPSS rescore
  13. 2026-07-08 15:16 UTCEPSS rescore
  14. 2026-07-08 12:05 UTCGHSA enrichment
  15. 2026-07-07 23:33 UTCGHSA enrichment
  16. 2026-07-07 13:46 UTCEPSS rescore
  17. 2026-07-07 13:46 UTCEPSS rescore
  18. 2026-07-07 11:00 UTCGHSA enrichment
  19. 2026-07-06 22:19 UTCGHSA enrichment
  20. 2026-07-06 09:47 UTCGHSA enrichment
  21. 2026-07-05 21:09 UTCGHSA enrichment
  22. 2026-07-05 08:33 UTCGHSA enrichment
  23. 2026-07-05 02:31 UTCEPSS rescore
  24. 2026-07-05 02:30 UTCEPSS rescore
  25. 2026-07-04 20:00 UTCGHSA enrichment
  26. 2026-07-04 07:28 UTCGHSA enrichment
  27. 2026-07-04 06:31 UTCEPSS rescore
  28. 2026-07-03 18:51 UTCGHSA enrichment
  29. 2026-07-03 06:18 UTCGHSA enrichment
  30. 2026-07-02 17:40 UTCGHSA enrichment
  31. 2026-07-02 05:03 UTCGHSA enrichment
  32. 2026-07-01 16:30 UTCGHSA enrichment
  33. 2026-07-01 15:07 UTCEPSS rescore
  34. 2026-07-01 03:58 UTCEG score recompute 7.80
  35. 2026-07-01 03:58 UTCGHSA enrichment
  36. 2026-06-30 23:22 UTCEPSS rescore
  37. 2026-06-29 14:06 UTCEPSS rescore
  38. 2026-06-29 14:06 UTCEPSS rescore
  39. 2026-06-28 14:07 UTCEPSS rescore
  40. 2026-06-28 07:52 UTCMITRE cvelistV5CVSS v3 → 7.8 · severity → HIGH
  41. 2026-06-28 04:56 UTCEPSS rescore
  42. 2026-06-28 04:56 UTCEPSS rescore
  43. 2026-06-27 23:11 UTCGHSA enrichment
  44. 2026-06-27 03:08 UTCEPSS rescore
  45. 2026-06-25 13:49 UTCEPSS rescore
  46. 2026-06-24 18:25 UTCEG score recompute
  47. 2026-06-24 18:02 UTCNVD updatefirst tracked

Frequently asked(5)

What is CVE-2026-52991?
CVE-2026-52991 is a high vulnerability published on June 24, 2026. In the Linux kernel, the following vulnerability has been resolved: sched/psi: fix race between file release and pressure write A potential race condition exists between pressure write and cgroup file release regarding the priv member of struct kernfsopenfile, which triggers the uaf reported in…
When was CVE-2026-52991 disclosed?
CVE-2026-52991 was first published in the National Vulnerability Database on June 24, 2026, with the most recent update on July 15, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-52991 actively exploited?
CVE-2026-52991 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 1.4% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-52991?
CVE-2026-52991 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-52991?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-52991, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-52991

Explore →

Is Your Infrastructure Affected by CVE-2026-52991?

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