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

CVE-2026-80535: Linux Kernel XFS Privilege Escalation Flaw

CVE-2026-80535 is a privilege escalation vulnerability in the Linux kernel XFS filesystem involving double-locking in self-referential directories. This article covers the technical details, affected systems, and mitigation strategies.

Published:

CVE-2026-80535 Overview

CVE-2026-80535 is a Linux kernel vulnerability in the XFS filesystem's directory tree repair code. The dirtree scrubber can identify a directory that references itself. When the repair code encounters this self-referential state, it attempts to acquire both iolock and ilock on sc->ip and dp as if they were distinct inodes. Because both pointers reference the same inode, this results in a double-lock condition. The fix detects the self-referential case and handles the locking appropriately.

Critical Impact

A double-lock on a single inode during XFS directory tree repair can lead to kernel deadlock and denial of service on affected systems.

Affected Products

  • Linux kernel (XFS filesystem subsystem)
  • Distributions shipping affected kernel versions with XFS dirtree scrubber and repair support
  • Systems using XFS online repair (xfs_scrub)

Discovery Timeline

  • 2026-08-26 - CVE-2026-80535 published to NVD
  • 2026-08-26 - Last updated in NVD database

Technical Details for CVE-2026-80535

Vulnerability Analysis

The XFS filesystem includes an online repair facility that scrubs metadata inconsistencies while the filesystem is mounted. One check, the dirtree scrubber, validates that the directory hierarchy forms a proper tree without cycles. When this check identifies a directory whose parent pointer refers back to itself, the corresponding repair routine executes to correct the corruption.

The repair routine expects to operate on two distinct inodes: the inode being scrubbed (sc->ip) and the parent directory inode (dp). It acquires iolock and ilock on both inodes to serialize access during the repair. In the self-referential corner case, sc->ip and dp point to the same in-memory inode. The unconditional locking sequence therefore attempts to acquire the same lock twice on the same object, producing a double-lock.

The patch introduces a check for this condition and adjusts the locking path so that a single inode is locked only once during self-referential repair. This class of defect maps to concurrency handling errors in kernel locking primitives.

Root Cause

The root cause is missing detection of an aliasing condition between two inode pointers in the XFS directory tree repair code. The repair path assumes sc->ip and dp are distinct, which is not guaranteed when the corruption being repaired is a self-referential directory.

Attack Vector

Triggering the flaw requires an XFS filesystem containing a self-referential directory and invocation of the online repair path (for example, via xfs_scrub). No public exploit is available, and no CISA KEV listing exists. Exploitation would generally require local privileges sufficient to run repair operations or the ability to mount a crafted XFS image.

No verified exploitation code is available. See the upstream kernel commits linked in the references for the fix details.

Detection Methods for CVE-2026-80535

Indicators of Compromise

  • Kernel soft-lockup or hung-task warnings referencing XFS repair functions and inode locks
  • Repeated xfs_scrub invocations that hang or block indefinitely on directory tree repair
  • Kernel log entries indicating XFS dirtree corruption followed by unresponsive processes

Detection Strategies

  • Compare running kernel versions against the fixed commits: 17bc347cbdfb, 5fc643fb8659, c575904471570, and ce2a7006ec5e.
  • Audit systems that run online XFS repair as part of maintenance workflows and verify patch status.
  • Correlate dmesg output for XFS-related lock warnings with process state to identify hung repair tasks.

Monitoring Recommendations

  • Monitor /var/log/kern.log and dmesg for XFS assertions, deadlock warnings, or hung_task messages naming XFS repair functions.
  • Track long-running or stalled xfs_scrub and xfs_repair processes across the fleet.
  • Alert on unexpected kernel task state transitions to D state on hosts that use XFS as the root or data filesystem.

How to Mitigate CVE-2026-80535

Immediate Actions Required

  • Apply vendor kernel updates that incorporate the upstream XFS fix commits referenced by this CVE.
  • Inventory hosts using XFS with online scrub/repair enabled and prioritize them for patching.
  • Avoid running xfs_scrub in repair mode on unpatched kernels where directory tree corruption is suspected.

Patch Information

The fix is delivered via upstream Linux kernel commits 17bc347cbdfb, 5fc643fb8659, c575904471570, and ce2a7006ec5e. Rebuild or install distribution kernel packages that include these commits and reboot affected hosts.

Workarounds

  • Disable scheduled xfs_scrub executions on unpatched kernels until updates are applied.
  • Restrict local user access on multi-tenant hosts that use XFS to reduce the exposure surface.
  • Take affected filesystems offline and run xfs_repair from a known-good rescue environment when directory tree corruption is detected.

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.