CVE-2023-54107
High · 7.8CVSS
7.8
EPSS
0.2%
Published
Dec 24, 2025
CISA due date
—
Cloudanix analysis
A memory management error in the Linux kernel's storage control groups can cause system crashes or allow unauthorized access if triggered by an attacker.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in blk-cgroup where parent blkg refcount is dropped in __blkg_release before child pd_free_fn executes in the asynchronous blkg_free_work_fn, allowing child policies to dereference a freed parent pd structure.
Why it matters to the business
Kernel instability, crashes, or potential local privilege escalation on Linux systems using cgroups with block I/O policies, increasing downtime risk for servers and container workloads.
How an attack unfolds
An attacker triggers concurrent cgroup creation/deletion and blkcg policy deactivation to race parent pd_free_fn with child access, exploiting the refcount ordering flaw to read or write freed memory.
How to fix it
Upgrade the Linux kernel to a version containing commit c7241babf0855d8a6180cd1743ff0ec34de40b4e which delays parent refcount drop until after all child pd_free_fn calls complete.
How to confirm the fix worked
Confirm the patch is present by checking that __blkg_release no longer drops the parent refcount and that blkg_free_work_fn ordering guarantees pd_free_fn completion first.
Typical attack path
- Create nested cgroups with blkio or io controllers enabled
- Trigger rapid cgroup removal while holding references to parent pd
- Invoke blkcg_deactivate_policy or device deletion to schedule blkg_free_work_fn
- Access the parent pd through the child after the parent structure is freed
How to detect it
Inspect kernel logs and dmesg for use-after-free warnings, oops, or panic messages referencing blkg_free_work_fn, __blkg_release, or pd_free_fn; correlate with processes performing rapid cgroup blkio operations.
- blkg_free_work_fn
- __blkg_release
- pd_free_fn
- blk-cgroup UAF
What your security team should do
- Apply the referenced kernel commit or newer stable release immediately
- Restrict unprivileged users from creating or manipulating blk-cgroup hierarchies
- Enable kernel hardening features such as KASAN or page allocator freelist randomization for early detection
The record
In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: dropping parent refcount after pd_free_fn() is done Some cgroup policies will access parent pd through child pd even after pd_offline_fn() is done. If pd_free_fn() for parent is called before child, then UAF can be triggered. Hence it's better to guarantee the order of pd_free_fn(). Currently refcount of parent blkg is dropped in __blkg_release(), which is before pd_free_fn() is called in blkg_free_work_fn() while blkg_free_work_fn() is called asynchronously. This patch make sure pd_free_fn() called from removing cgroup is ordered by delaying dropping parent refcount after calling pd_free_fn() for child. BTW, pd_free_fn() will also be called from blkcg_deactivate_policy() from deleting device, and following patches will guarantee the order.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| SUSE:Linux Enterprise Micro 5.5 | kernel-rt | 0 | 5.14.21-150500.13.118.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source-rt | 0 | 5.14.21-150500.13.118.1 |
Related vulnerabilities
- CVE-2023-54322 In the Linux kernel, the following vulnerability has been resolved: arm64: set… Also affects kernel-rt
- CVE-2023-54319 In the Linux kernel, the following vulnerability has been resolved: pinctrl: at91-pio4… Also affects kernel-rt
- CVE-2023-54320 In the Linux kernel, the following vulnerability has been resolved: platform/x86/amd… Also affects kernel-rt
- CVE-2023-54321 In the Linux kernel, the following vulnerability has been resolved: driver core: fix… Also affects kernel-rt
- CVE-2023-54325 In the Linux kernel, the following vulnerability has been resolved: crypto: qat - fix… Also affects kernel-rt
- CVE-2023-54326 In the Linux kernel, the following vulnerability has been resolved: misc… Also affects kernel-rt
- CVE-2023-54317 In the Linux kernel, the following vulnerability has been resolved: dm flakey: don't… Also affects kernel-rt
- CVE-2023-54309 In the Linux kernel, the following vulnerability has been resolved: tpm: tpm_vtpm_proxy… Also affects kernel-rt