Read the docs
TI-2026-38078 Aliases CVE-2026-52991GHSA-3v2r-c9x3-5fgr

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

Priority LOW 35CWE-367Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Partial Red Hat: 14 fixed, 1 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.

Summary

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---

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00147 3rd percentileScored 2026-11-07
Fix Partial Linux (Linux): 6.1.191, 6.6.160, 6.12.114 +3Red Hat: 4 advisoriesRed Hat: 14 fixed, 1 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux5.2 and later6.1.191, 6.6.160, 6.12.114, 6.18.33, 7.0.10, 7.1Patch availableCNA
  • Linux VendorLinux Affected 5.2 and later Fixed in 6.1.191, 6.6.160, 6.12.114, 6.18.33, 7.0.10, 7.1 Patch available CNA

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*5.2 to before 6.18.33; 6.19 to before 7.0.10VulnerableLinux
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*7.1 rc1VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 5.2 to before 6.18.33; 6.19 to before 7.0.10 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* Versions 7.1 rc1 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 6.1.191, 6.6.160, 6.12.114, 6.18.33, 7.0.10, 7.1

Red Hat 4 advisories

  • RHSA-2026:57252 Released 2026-08-20 · Red Hat rating Important
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-687.41.1.el9_8, kernel-64k-debug-devel-matched-5.14.0-687.41.1.el9_8, kernel-64k-devel-5.14.0-687.41.1.el9_8 +12
    • Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-687.41.1.el9_8, kernel-64k-5.14.0-687.41.1.el9_8, kernel-64k-core-5.14.0-687.41.1.el9_8 +28
    • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-687.41.1.el9_8, libperf-5.14.0-687.41.1.el9_8
    • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-687.41.1.el9_8, kernel-rt-64k-5.14.0-687.41.1.el9_8, kernel-rt-64k-core-5.14.0-687.41.1.el9_8 +21
    • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-687.41.1.el9_8, kernel-rt-core-5.14.0-687.41.1.el9_8, kernel-rt-debug-5.14.0-687.41.1.el9_8 +9
  • RHSA-2026:57251 Released 2026-08-20 · Red Hat rating Important
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-211.49.1.el10_2, kernel-64k-debug-devel-matched-6.12.0-211.49.1.el10_2, kernel-64k-devel-6.12.0-211.49.1.el10_2 +12
    • Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-211.49.1.el10_2, kernel-64k-6.12.0-211.49.1.el10_2, kernel-64k-core-6.12.0-211.49.1.el10_2 +29
    • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-211.49.1.el10_2, libperf-6.12.0-211.49.1.el10_2
    • Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-211.49.1.el10_2, kernel-rt-64k-6.12.0-211.49.1.el10_2, kernel-rt-64k-core-6.12.0-211.49.1.el10_2 +21
    • Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-211.49.1.el10_2, kernel-rt-core-6.12.0-211.49.1.el10_2, kernel-rt-debug-6.12.0-211.49.1.el10_2 +9
  • RHSA-2026:57253 Released 2026-08-20 · Red Hat rating Important
    kernel security, bug fix, and enhancement update
    • Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.157.1.el8_10, kernel-4.18.0-553.157.1.el8_10, kernel-abi-stablelists-4.18.0-553.157.1.el8_10 +19
    • Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.157.1.el8_10
Show 1 more Red Hat advisories
  • RHSA-2026:57254 Released 2026-08-20 · Red Hat rating Important
    kernel-rt security, bug fix, and enhancement update
    • Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.157.1.rt7.498.el8_10, kernel-rt-core-4.18.0-553.157.1.rt7.498.el8_10, kernel-rt-debug-4.18.0-553.157.1.rt7.498.el8_10 +9
    • Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.157.1.rt7.498.el8_10, kernel-rt-core-4.18.0-553.157.1.rt7.498.el8_10, kernel-rt-debug-4.18.0-553.157.1.rt7.498.el8_10 +7

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 9AffectedNo fix yet
Red Hat Enterprise Linux AppStream (v. 10)Fixed RHSA-2026:57251
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2026:57252
Red Hat Enterprise Linux BaseOS (v. 10)Fixed RHSA-2026:57251
Red Hat Enterprise Linux BaseOS (v. 8)Fixed RHSA-2026:57253
Red Hat Enterprise Linux BaseOS (v. 9)Fixed RHSA-2026:57252
Red Hat Enterprise Linux CRB (v. 8)Fixed RHSA-2026:57253
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10)Fixed RHSA-2026:57251
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9)Fixed RHSA-2026:57252
Red Hat Enterprise Linux NFV (v. 8)Fixed RHSA-2026:57254
Red Hat Enterprise Linux RT (v. 8)Fixed RHSA-2026:57254
Red Hat Enterprise Linux Real Time (v. 10)Fixed RHSA-2026:57251
Red Hat Enterprise Linux Real Time (v. 9)Fixed RHSA-2026:57252
Red Hat Enterprise Linux Real Time for NFV (v. 10)Fixed RHSA-2026:57251
Red Hat Enterprise Linux Real Time for NFV (v. 9)Fixed RHSA-2026:57252
Not affected: 2 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-52991
  2. 2026-10-03 Alias added: GHSA-3v2r-c9x3-5fgr
  3. 2026-10-16 CISA SSVC decision points changed
  4. 2026-10-19 Weakness changed · CISA ADP
  5. 2026-10-21 Fix available: Linux/[email protected], Linux/[email protected], Linux/Linux@af0638534bfae7980582c6482531a0872f8ee341 +1 · CNA
  6. 2026-10-21 2 new references · CNA
  7. 2026-10-30 Fix available: Linux/Linux@58e6ca11e45c9d6e52255d1135e7dbff0a360334, Linux/[email protected] · CNA
  8. 2026-10-30 1 new reference · CNA

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources