Cloudanix VulnDB

CVE-2023-54209

None

CVSS

—

EPSS

0.2%

Published

Dec 30, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A small memory leak in the Linux kernel's disk tracing code can gradually use up system resources if certain disk operations are performed repeatedly.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A corner-case path allows blktrace debugfs entries to remain allocated after the associated disk is released, causing a memory leak of kernel debugfs structures.

Why it matters to the business

Repeated triggering on systems that open and close disks after del_gendisk can slowly exhaust kernel memory, leading to degraded performance or eventual denial of service on long-running servers.

How an attack unfolds

An attacker with local access opens a block device before del_gendisk, enables blktrace via ioctl, closes the device without disabling tracing, and repeats the sequence to accumulate leaked debugfs entries.

How to fix it

Update the Linux kernel to a version containing commit aa07e56c6a9c7558165690d14eed4fe8babf34fb or apply the equivalent stable backport that moves blk_trace_shutdown into disk_release().

How to confirm the fix worked

Confirm the running kernel contains commit aa07e56c6a9c7558165690d14eed4fe8babf34fb, then verify no debugfs blktrace directories remain after a disk is unregistered while tracing was previously enabled via ioctl.

Typical attack path

  1. Obtain local unprivileged access to a system running an affected kernel
  2. Open a block device that will later be unregistered
  3. Issue ioctl to enable blktrace after del_gendisk has occurred
  4. Close the device without shutting down blktrace
  5. Repeat to accumulate leaked debugfs entries

How to detect it

Review kernel logs for repeated blk_trace or debugfs allocation warnings, inspect /sys/kernel/debug/block for orphaned trace directories after device removal, and correlate with processes that performed BLKTRACESETUP ioctls without corresponding shutdowns.

What your security team should do

  • Prioritize kernel updates on all systems that expose block devices to untrusted local users
  • Monitor EPSS and exploit maturity; current values indicate low immediate risk but patch during normal maintenance windows
  • Audit custom kernels or downstream distributions for the missing disk_release shutdown call

The record

In the Linux kernel, the following vulnerability has been resolved: block: fix blktrace debugfs entries leakage Commit 99d055b4fd4b ("block: remove per-disk debugfs files in blk_unregister_queue") moves blk_trace_shutdown() from blk_release_queue() to blk_unregister_queue(), this is safe if blktrace is created through sysfs, however, there is a regression in corner case. blktrace can still be enabled after del_gendisk() through ioctl if the disk is opened before del_gendisk(), and if blktrace is not shutdown through ioctl before closing the disk, debugfs entries will be leaked. Fix this problem by shutdown blktrace in disk_release(), this is safe because blk_trace_remove() is reentrant.

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 5.19.0 6.1.39
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_19 0 1-150600.13.3.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-64kb 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-default-base 0 6.4.0-150600.23.84.1.150600.12.38.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-docs 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-obs-build 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-source 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-syms 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server 15 SP6-LTSS kernel-zfcpdump 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-default-base 0 6.4.0-150600.23.84.1.150600.12.38.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-docs 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-obs-build 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-source 0 6.4.0-150600.23.84.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP6 kernel-syms 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.84.1.150600.12.38.1
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.84.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.84.1

Related vulnerabilities