CVE-2026-53153: Linux Kernel Memory Corruption in memcg List Management (CVSS 7.8)
CVE-2026-53153 is a race condition in the Linux kernel's memory management subsystem that can corrupt data structures in a process's memory. The vulnerability exists in how the kernel handles the cleanup of list management structures when a memory control group (memcg) is being terminated. When a memcg is shutting down, the kernel must transfer its list entries to the parent memcg before removing references to the old structure. Due to a timing gap between these operations, a concurrent thread may modify list pointers under the wrong lock, causing adjacent memory items to corrupt each other. A local attacker with unprivileged access can trigger this race condition to achieve privilege escalation or system instability.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- CWE-820
- Affected products
- 9 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-07-15
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: mm/list_lru: drain before clearing xarray entry on reparent memcg_reparent_list_lrus() clears the dying memcg's xarray entry with xas_store(&xas, NULL) before reparenting its per-node lists into the parent. This opens a window where a concurrent list_lru_del() arriving for the dying memcg sees xa_load() == NULL, walks to the parent in lock_list_lru_of_memcg(), takes the parent's per-node lock, and calls list_del_init() on an item still physically linked on the dying memcg's list. If another in-flight thread holds the dying memcg's per-node lock at the same moment (another list_lru_del, or a list_lru_walk_one running an isolate callback), both threads modify ->next/->prev pointers on the same physical list under different locks. Adjacent items can corrupt each other's links. Fix it by reversing the order: reparent each per-node list and mark the child's list lru dead and then clear the xarray entry. Any concurrent list_lru op that finds the still-set xarray entry either takes the dying memcg's per-node lock (synchronizing with the drain) or sees LONG_MIN and walks to the parent, where the items now live.
6 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability resides in memcg_reparent_list_lrus() within the Linux kernel's list_lru subsystem. The function clears the dying memcg's xarray entry via xas_store(&xas, NULL) before draining and reparenting its per-node lists. This order creates a critical window: a concurrent list_lru_del() call on the dying memcg observes a NULL xarray entry, incorrectly walks to the parent memcg, acquires the parent's per-node lock, and calls list_del_init() on an item still physically present on the dying memcg's list. If another thread simultaneously holds the dying memcg's per-node lock (another list_lru_del or an isolate callback within list_lru_walk_one), both threads modify the same physical list's next/prev pointers under different locks, corrupting the doubly-linked list structure. The fix reverses the operation order: drain and reparent per-node lists first, mark the child list lru dead, then clear the xarray entry. This ensures that concurrent operations either synchronize on the dying memcg's lock or safely navigate to the parent where list entries now reside.
Business impact
This vulnerability can lead to kernel memory corruption and denial of service. An unprivileged local attacker can exploit the race condition to trigger kernel crashes, data loss, or potentially escalate privileges to kernel level. Organizations running Linux systems in multi-tenant or containerized environments face elevated risk, as the attack can be triggered from within restricted execution contexts. System instability may cascade to application-level outages and compromise data integrity for services relying on affected kernel versions.
Affected systems
The vulnerability affects the Linux kernel across multiple versions and distributions. Affected vendors and products include the Linux kernel itself (multiple versions) and Red Hat Enterprise Linux. The exact kernel versions requiring patches should be verified against Red Hat security advisories and the Linux kernel stable tree releases, as patch version information is not specified in the advisory data. Organizations should inventory systems running Linux kernels and Red Hat Enterprise Linux to determine exposure.
Exploitability
Exploitability requires local access to the system with unprivileged user-level permissions. The attack requires careful timing to trigger the race condition reliably—the attacker must create conditions where memcg reparenting occurs concurrently with list_lru operations. While this requires some execution skill and timing precision, the barrier to exploitation is moderate for a determined local attacker. The vulnerability does not require special kernel configuration and affects default kernel behavior, making it a realistic threat in environments where untrusted users have local access.
Remediation
The permanent fix is to apply the kernel patch that reorders operations in memcg_reparent_list_lrus(): drain and reparent per-node lists before clearing the xarray entry, and mark the child list lru dead to prevent concurrent operations from accessing stale references. Affected organizations should apply patches as they become available from their Linux distribution or the kernel stable tree. Until patches are available, limit local access to systems where practical, isolate high-value infrastructure from untrusted users, and monitor for kernel crashes or memory corruption symptoms.
Patch guidance
Patches are expected to be released by Linux kernel maintainers and distributed through stable kernel releases and vendor security updates. Organizations should monitor Red Hat security advisories and the kernel.org stable releases for CVE-2026-53153. When patches are available, prioritize kernel updates for systems in multi-tenant environments, containerized platforms, or systems accessible to unprivileged users. Test patches in a staging environment before production deployment. Verify patch status by checking the specific kernel version against vendor release notes—the patch should be incorporated into kernel releases addressing this CVE.
Detection guidance
Monitor system logs for kernel crashes (kernel panics), memory corruption errors, or unexpected list_lru-related warnings in dmesg. Correlation of memcg deletion events with list manipulation operations can indicate exploitation attempts. Implement kernel audit logging to track memory control group state changes and list operations, though this adds overhead. Watch for patterns of list iterator failures, double-frees, or use-after-free errors in kernel memory. Given the race condition nature, detection is challenging without dynamic kernel tracing; consider deploying kernel-level intrusion detection tools or memory sanitizers on high-value systems during active patching windows.
Why prioritize this
This vulnerability merits high priority due to its CVSS 3.1 score of 7.8 (HIGH severity), local attack vector requiring only standard user privileges, and potential for privilege escalation and system compromise. The vulnerability affects core kernel memory management, making it relevant across diverse Linux environments. While it requires local access and race condition timing, the lack of complexity barriers for a motivated attacker on accessible systems justifies urgent patching, particularly in cloud and container infrastructure where local code execution is a realistic threat model.
Risk score, explained
The CVSS 3.1 score of 7.8 reflects: Attack Vector Local (narrow attack surface requiring system access), Attack Complexity Low (no special conditions needed to trigger the race beyond local execution), Privileges Required Low (unprivileged user can trigger), User Interaction None (no user action needed), Confidentiality High (kernel memory can be read), Integrity High (kernel memory can be modified), and Availability High (kernel crash possible). The HIGH severity is appropriate for a memory corruption vulnerability affecting core kernel functions. The score underscores that while not network-exploitable, the confidentiality, integrity, and availability impacts of kernel-level data structure corruption are substantial.
Frequently asked questions
Can this vulnerability be exploited remotely or only locally?
Only locally. The attack requires unprivileged local code execution on the target system. There is no network-based exploitation path. Remote code execution vulnerabilities are distinct and would typically have a higher CVSS score reflecting network attack vector.
Which systems are most at risk from this vulnerability?
Multi-tenant systems, shared hosting environments, containerized platforms (Kubernetes clusters with untrusted workloads), and systems where local users have unprivileged shell access face the highest risk. Single-user workstations and fully air-gapped systems have lower risk. Verify your Linux distribution version against vendor security advisories to confirm whether your kernel is affected.
What are the consequences if exploitation succeeds?
Successful exploitation can corrupt kernel memory structures, leading to kernel panics (denial of service), privilege escalation to kernel level, or silent data corruption in memory-managed resources. The exact impact depends on timing, workload, and which specific list structures are corrupted. Privilege escalation is the most critical outcome.
Is there a workaround available before patching?
No reliable workaround eliminates the vulnerability. The best interim measures are to restrict local user access where feasible, monitor systems closely for crashes, and schedule emergency patching as soon as vendor patches become available. Disable memory control group features if they are not in use, though this is rarely practical in modern deployments.
This analysis is based on the vulnerability description and available metadata as of the publication date. CVSS score, affected products, and patch details are sourced from official security advisories and must be verified against Red Hat, Linux kernel stable releases, and your distribution's security updates. No exploit code, proof-of-concept, or weaponized attack details are provided. Organizations should consult vendor security advisories and perform their own impact assessment before deploying patches in production. This analysis is provided for informational purposes and does not constitute security advice tailored to your specific environment. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-53277HIGHARM64 KVM SRCU Synchronization Race Condition (CVSS 8.8)
- CVE-2026-53000HIGHLinux Kernel Netfilter NAT Use-After-Free Vulnerability
- CVE-2026-53009HIGHLinux ice Driver Double-Free Vulnerability – Local Privilege Escalation
- CVE-2026-53145HIGHLinux DRM Gem Handle Race Condition - Privilege Escalation Vulnerability
- CVE-2023-54365HIGHTraefik HTTP/2 Denial of Service Vulnerability – Rapid Reset Attack
- CVE-2026-0270HIGHCortex XSOAR Path Traversal on Linux — Exploit Requirements & Patching Guide
- CVE-2026-0271HIGHPalo Alto Networks Prisma Access Agent Linux Privilege Escalation
- CVE-2026-10001HIGHChrome Sandbox Escape via PerformanceManager Use-After-Free