CVE Catalog

CVE-2026-90325

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

6th percentile - higher than 6% of all known CVEs

Summary

In the Linux kernel, blk-cgroup's blkcg_activate_policy() can race with concurrent blkcg deletion when switching IO schedulers, leading to a use-after-free in rcu_accelerate_cbs. The issue occurs when a blkg is being destroyed while blkcg_activate_policy() tries to get a reference to it.

Risk Assessment

May lead to use-after-free in the kernel, potentially enabling privilege escalation or system hang.

Recommendation

Update the Linux kernel to a version containing the fix that checks hlist_unhashed(&blkg->blkcg_node) before getting a reference to the blkg.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: skip dying blkg in blkcg_activate_policy() When switching IO schedulers on a block device, blkcg_activate_policy() can race with concurrent blkcg deletion, leading to a use-after-free in rcu_accelerate_cbs. T1: T2: blkg_destroy kill(&blkg->refcnt) // blkg->refcnt=1->0 blkg_release // call_rcu(__blkg_release) ... blkg_free_workfn ->pd_free_fn(pd) elv_iosched_store elevator_switch ... iterate blkg list blkg_get(blkg) // blkg->refcnt=0->1 list_del_init(&blkg->q_node) blkg_put(pinned_blkg) // blkg->refcnt=1->0 blkg_release // call_rcu again rcu_accelerate_cbs // uaf Fix this by checking hlist_unhashed(&blkg->blkcg_node) before getting a reference to the blkg. This is the same check used in blkg_destroy() to detect if a blkg has already been destroyed. If the blkg is already unhashed, skip processing it since it's being destroyed.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS