Skip to main content

Linux Kernel CVE-2026-53264

| EUVDEUVD-2026-39215 HIGH
Use After Free (CWE-416)
2026-06-25 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-vq3g-6qwh-5wj2
7.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Local-only via tc netlink so AV:L; CAP_NET_ADMIN needed so PR:L; success depends on winning a concurrent free/re-reference race so AC:H; UAF yields full memory-corruption impact C:H/I:H/A:H.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jun 28, 2026 - 09:47 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
7.8 (HIGH)
Patch available
Jun 25, 2026 - 10:32 EUVD
CVE Published
Jun 25, 2026 - 09:16 cve.org
HIGH 7.8
CVE Published
Jun 25, 2026 - 09:16 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

net/sched: act_api: use RCU with deferred freeing for action lifecycle

When NEWTFILTER and DELFILTER are run concurrently it is possible to create a race with an associated action.

Let's illustrate with CPU0 running NEWTFILTER and CPU1 running DELFILTER:

0: mutex_lock() <-- holds the idr lock 0: rcu_read_lock() 0: p = idr_find(idr, index) <-- action p is valid (RCU protects IDR) 0: mutex_unlock() <-- releases the idr lock 1: refcount_dec_and_mutex_lock() <-- refcnt 1->0, mutex held 1: idr_remove(idr, index) <-- Action removed from IDR 1: mutex_unlock() <-- mutex released allowing us to delete the action 1: tcf_action_cleanup(p); kfree(p) <-- Kfrees p immediately, no deferral 0: refcount_inc_not_zero(&p->tcfa_refcnt) <-- ouch, UAF p points to freed memory

This patch fixes the race condition between NEWTFILTER and DELFILTER by adding struct rcu_head to tc_action used in the deferral and introducing a call_rcu() in the delete path to defer the final kfree().

Note: this is a revert of commit d7fb60b9cafb ("net_sched: get rid of tcfa_rcu") but also modernization/simplification to directly use kfree_rcu().

Let's illustrate the new restored code path:

0: rcu_read_lock() 1: refcount_dec_and_mutex_lock() <-- refcnt 1->0, mutex held 1: idr_remove(idr, index) 1: mutex_unlock() 1: call_rcu(&p->tcfa_rcu, tcf_action_rcu_free) <-- defer kfree after grace period 0: p = idr_find(idr, index) 0: refcount_inc_not_zero(&p->tcfa_refcnt) <-- fails, refcnt already 0 1: rcu_read_unlock() <-- release so freeing can run after grace period

After CPU1 calls idr_remove(), the object is no longer reachable through the IDR. CPU0's subsequent idr_find() will return NULL, and even if it still held a stale pointer, the immediate kfree() is now deferred until after the RCU grace period, so no UAF can occur.

AnalysisAI

Local privilege-bearing users can trigger a use-after-free in the Linux kernel's net/sched action subsystem (act_api) by racing concurrent NEWTFILTER and DELFILTER operations, where an action object can be kfree()'d immediately on one CPU while another CPU still holds an RCU-protected reference and calls refcount_inc_not_zero() on freed memory. Affecting the tc action lifecycle, exploitation can corrupt kernel memory and lead to local privilege escalation or denial of service (kernel panic). This issue has no public exploit identified at time of analysis and carries a low EPSS exploitation probability (0.17%, 7th percentile).

Technical ContextAI

The flaw lives in the Linux traffic-control action API (net/sched/act_api.c), which manages tc 'actions' (e.g. mirred, police, gact) attached to classifiers/filters. Actions are stored in an IDR (ID-to-pointer mapping) protected by RCU readers and a mutex for writers, with their lifecycle governed by a refcount (tcfa_refcnt). The root cause is a classic use-after-free (CWE-416) race: the delete path performed refcount_dec_and_mutex_lock() followed by idr_remove() and an immediate tcf_action_cleanup()/kfree() with no RCU grace-period deferral, so a concurrent reader that obtained the pointer via idr_find() under rcu_read_lock() could call refcount_inc_not_zero() after the object was already freed. The fix restores deferred freeing by adding a struct rcu_head to tc_action and using call_rcu()/kfree_rcu() so the final free only occurs after a grace period - effectively reverting commit d7fb60b9cafb ('net_sched: get rid of tcfa_rcu') and modernizing it. The kernel CWE is reported as N/A in source data, but the described primitive is unambiguously a use-after-free.

RemediationAI

Vendor-released patch: upgrade to a fixed stable kernel - 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13, or mainline 7.1 - or your distribution's equivalent backport, then reboot (or kpatch/livepatch where available). The fix commits are at https://git.kernel.org/stable/c/ (e.g. 5dd51e09020c, 91d105d2cbe0) and the advisory is https://nvd.nist.gov/vuln/detail/CVE-2026-53264. Where immediate patching is not possible, the most effective compensating control is to deny CAP_NET_ADMIN to untrusted users: set sysctl kernel.unprivileged_userns_clone=0 (or user.max_user_namespaces=0) to prevent unprivileged users from gaining CAP_NET_ADMIN via user namespaces - note this can break container runtimes, sandboxes (e.g. Chromium), and rootless tooling. Additionally restrict or audit who can run tc/netlink RTM_NEWTFILTER/RTM_DELFILTER operations, and consider seccomp/LSM policies that block the tc netlink interface for workloads that do not need it; the trade-off is that legitimate traffic-shaping automation will fail. There is no functional workaround within act_api itself short of the RCU-deferred-free patch.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-53264 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy