Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-53311

CVE-2026-53311: Linux Kernel Use-After-Free Vulnerability

CVE-2026-53311 is a use-after-free vulnerability in the Linux kernel's FUSE subsystem that causes uninitialized value issues in fuse_dentry_revalidate(). This article covers technical details, affected systems, and mitigation.

Published:

CVE-2026-53311 Overview

CVE-2026-53311 is an uninitialized memory use vulnerability in the Linux kernel's Filesystem in Userspace (FUSE) subsystem. The flaw resides in the fuse_dentry_revalidate() function within fs/fuse/dir.c. The function may be called with a dentry whose ->d_time field has not been initialized, leading to the use of uninitialized memory. Kernel Memory Sanitizer (KMSAN) detected the issue during the lookup_open() code path, where __d_alloc() allocates a new dentry that is subsequently passed to d_revalidate() before initialization completes.

Critical Impact

Uninitialized memory reads in the FUSE dentry revalidation path may cause unpredictable filesystem behavior and potential information disclosure from kernel slab memory.

Affected Products

  • Linux kernel FUSE subsystem (fs/fuse/dir.c)
  • Stable kernel branches referenced by commits 3ac9117ba3de, 5a6baf204610, and da3d241c5b92
  • Systems mounting FUSE filesystems where uninitialized dentries can be revalidated

Discovery Timeline

  • 2026-06-26 - CVE-2026-53311 published to NVD
  • 2026-06-30 - Last updated in NVD database

Technical Details for CVE-2026-53311

Vulnerability Analysis

The vulnerability is an uninitialized memory use flaw in the Linux kernel FUSE driver. When the Virtual Filesystem (VFS) layer executes an open path, lookup_open() calls __d_alloc() to allocate a fresh dentry structure. The kernel then invokes d_revalidate(), which dispatches to fuse_dentry_revalidate() at fs/fuse/dir.c:394. At this point, the dentry's ->d_time field has not yet been assigned a value, but the FUSE revalidation logic reads it. KMSAN flagged the read as an access to uninitialized slab memory allocated through kmem_cache_alloc_lru_noprof().

Because ->d_time is used by FUSE to determine cache entry expiration, an uninitialized read may cause the kernel to make incorrect revalidation decisions. The consequences include serving stale filesystem state or, in worst-case reasoning, exposing bytes of previously freed slab content through side effects observable to userspace.

Root Cause

The root cause is a missing initialization guarantee. fuse_dentry_revalidate() assumed that any dentry passed to it had already been fully initialized with a valid ->d_time. That assumption does not hold along the lookup_open()__d_alloc()d_revalidate() sequence, where the dentry is freshly allocated but not yet stamped by FUSE lookup handling.

Attack Vector

The issue is triggered through ordinary file open operations against a FUSE-mounted filesystem. A local user with the ability to interact with a FUSE mount can reach the vulnerable path. No specific exploitation code has been published, and no public proof-of-concept is available. The condition was surfaced by KMSAN instrumentation rather than an active exploitation report. See the upstream fixes in the kernel commit 3ac9117ba3de, kernel commit 5a6baf204610, and kernel commit da3d241c5b92 for the corrective changes.

Detection Methods for CVE-2026-53311

Indicators of Compromise

  • KMSAN reports referencing fuse_dentry_revalidate+0x150/0x13d0 in fs/fuse/dir.c:394
  • Kernel logs showing uninit-value diagnostics originating from lookup_open() or path_openat() in fs/namei.c
  • Unexpected FUSE cache revalidation behavior against newly created dentries

Detection Strategies

  • Enable KMSAN or equivalent memory sanitizer builds on test kernels to reproduce the uninitialized read
  • Inventory hosts running FUSE-based filesystems and correlate kernel versions against the fixed commits
  • Monitor kernel ring buffer output (dmesg) for FUSE-related warnings during filesystem-heavy workloads

Monitoring Recommendations

  • Track kernel package versions across the Linux fleet and flag hosts running pre-patch stable branches
  • Audit which workloads mount FUSE filesystems, including containers using overlay or user-space filesystems
  • Alert on unusual kernel oops or sanitizer messages tied to fs/fuse/dir.c

How to Mitigate CVE-2026-53311

Immediate Actions Required

  • Apply the stable kernel updates containing commits 3ac9117ba3de, 5a6baf204610, and da3d241c5b92
  • Prioritize patching on multi-tenant hosts and container platforms that expose FUSE mounts to lower-privileged users
  • Rebuild any custom kernels to include the fix for fuse_dentry_revalidate()

Patch Information

The upstream fix ensures fuse_dentry_revalidate() handles dentries that have not yet had ->d_time initialized. Patches are available in the referenced stable kernel commits: 3ac9117ba3de, 5a6baf204610, and da3d241c5b92. Distribution vendors will backport the change into their supported stable trees; consume the fix through the standard package update channel.

Workarounds

  • Restrict use of unprivileged FUSE mounts where the fix cannot be applied immediately
  • Limit which users and containers can invoke fusermount or mount FUSE filesystems
  • Disable non-essential FUSE-backed services on affected hosts until patched kernels are deployed

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.