Cloudanix VulnDB

CVE-2025-68814

None

CVSS

—

EPSS

0.2%

Published

Jan 13, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the core Linux operating system can slowly waste memory during certain file-handling tasks, which over time might make systems slower or cause crashes if left unfixed.

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

What it actually does

Memory leak of struct filename objects allocated via getname() in __io_openat_prep() when a request installs a file into the fixed file table with O_CLOEXEC; the REQ_F_NEED_CLEANUP flag is never set, so the filename is not freed on request teardown.

Why it matters to the business

Repeated triggering on Linux systems using io_uring can gradually exhaust kernel memory, leading to performance degradation or denial of service; widespread kernel prevalence increases exposure but low exploitability and no known campaigns limit immediate operational risk.

How an attack unfolds

An attacker triggers the vulnerable early-return path in __io_openat_prep() by submitting io_uring open requests that target the fixed file table while setting O_CLOEXEC, causing repeated allocations without cleanup and eventual memory exhaustion.

How to fix it

Apply the upstream fix by updating the Linux kernel to a version containing commit 2420ef01b2e836fbc05a0a8c73a1016504eb0458 or later; rebuild and deploy the patched kernel across all affected systems.

How to confirm the fix worked

Verify the running kernel contains commit 2420ef01b2e836fbc05a0a8c73a1016504eb0458 or a backport; confirm no early return occurs without REQ_F_NEED_CLEANUP by code review or memory-leak testing under the described io_uring conditions.

Typical attack path

  1. Submit io_uring SQE for file open targeting fixed file table
  2. Set O_CLOEXEC flag on the open request
  3. Force early return before REQ_F_NEED_CLEANUP is applied
  4. Repeat to accumulate leaked filename structures
  5. Observe kernel memory growth until resource exhaustion

How to detect it

Review kernel memory statistics and io_uring request traces for repeated open operations into fixed file tables; correlate with process activity that uses io_uring SQEs carrying O_CLOEXEC to identify potential leak sources.

What your security team should do

  • Prioritize kernel upgrade to the fixed commit on all production systems within standard change windows
  • Monitor io_uring usage and kernel memory metrics for anomalous growth until patched
  • Restrict untrusted code from using io_uring fixed file tables where feasible

The record

In the Linux kernel, the following vulnerability has been resolved: io_uring: fix filename leak in __io_openat_prep() __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak. Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 5.15.0 5.15.198
Mageia:9 kernel 0 6.6.120-1.mga9
Mageia:9 kernel-linus 0 6.6.120-1.mga9
Mageia:9 kmod-virtualbox 0 7.1.14-14.mga9
Mageia:9 kmod-xtables-addons 0 3.24-88.mga9
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-azure 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.26.1.160000.2.7
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.26.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.26.1

Related vulnerabilities