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

CVE-2026-43168: Linux Kernel Privilege Escalation Flaw

CVE-2026-43168 is a privilege escalation vulnerability in the Linux kernel affecting the ocfs2 reflink preserve cleanup. This flaw may allow attackers to gain elevated privileges. This post covers technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2026-43168 Overview

CVE-2026-43168 affects the Linux kernel's Oracle Cluster File System version 2 (ocfs2) implementation. The vulnerability resides in the reflink preserve cleanup logic for extended attribute (xattr) entries. A prior fix in commit c06c303832ec ("ocfs2: fix xattr array entry __counted_by error") did not address all cleanup scenarios. The last pointer fails to shift by one unit after an array entry is cleaned up, and the existing logic does not clean up the first entry when xh_count equals 1. This vulnerability has been resolved in the upstream Linux kernel through multiple stable backport commits.

Critical Impact

Incomplete cleanup of preserved xattr entries during ocfs2 reflink operations may lead to filesystem metadata corruption or stale entries on shared cluster storage.

Affected Products

  • Linux kernel ocfs2 filesystem subsystem
  • Stable kernel branches receiving the backport patches referenced in the kernel.org commits
  • Distributions shipping ocfs2 with the reflink preserve xattr cleanup logic

Discovery Timeline

  • 2026-05-06 - CVE-2026-43168 published to NVD
  • 2026-05-06 - Last updated in NVD database

Technical Details for CVE-2026-43168

Vulnerability Analysis

The defect lives in the ocfs2 reflink path that preserves extended attributes from a source inode to a reflinked inode. During the cleanup phase, the kernel iterates through xattr array entries and removes those that should not be preserved. The corrected logic must advance the last pointer after each entry removal and handle the boundary condition where only a single entry exists.

The earlier patch c06c303832ec partially corrected a __counted_by annotation error introduced in commit 0fe9b66c65f3, but it failed to update the iterator pointer after cleanup operations. As a result, traversal arithmetic over the xattr header array becomes inconsistent with the count maintained by the bounds-checking annotation.

When xh_count equals 1, the current implementation skips cleanup of the first entry entirely. This produces residual xattr metadata that the kernel still considers valid after the reflink operation completes.

Root Cause

The root cause is incorrect pointer arithmetic in the cleanup loop combined with a missing boundary case. The last pointer references the trailing entry in the xattr array. After an entry is removed, the array shrinks, and last must be decremented to remain consistent with the new logical bound. Omitting this decrement causes subsequent iterations to operate on stale or out-of-bounds entries. The single-entry skip is a separate logic error in the loop's termination condition.

Attack Vector

Exploitation requires local access to a system mounting an ocfs2 filesystem with reflink operations being performed on files carrying extended attributes. An unprivileged user able to invoke reflink syscalls on xattr-bearing inodes can trigger the inconsistent cleanup state. The published advisory does not document a confirmed memory corruption or privilege escalation primitive; the patch is classified as a correctness fix for filesystem metadata handling.

The vulnerability is described in prose form because no proof-of-concept code is provided in the upstream advisory. Refer to the Kernel Git Commit 02acc9f for the definitive fix and explanation.

Detection Methods for CVE-2026-43168

Indicators of Compromise

  • Unexpected or stale extended attribute entries on files that have been reflinked on ocfs2 volumes
  • Kernel warnings or BUG() reports referencing ocfs2_xattr cleanup paths in dmesg
  • Filesystem consistency check (fsck.ocfs2) reporting xattr count mismatches against header structures

Detection Strategies

  • Audit kernel package versions against the fixed commits listed in the kernel.org stable advisories and confirm the backport is present
  • Monitor kernel ring buffer logs for ocfs2 subsystem warnings emitted during reflink-heavy workloads
  • Run periodic offline fsck.ocfs2 -n scans on cluster volumes to surface metadata anomalies before they propagate

Monitoring Recommendations

  • Forward /var/log/kern.log and journalctl -k output to a centralized logging platform and alert on ocfs2-tagged warnings
  • Track reflink syscall volume per host using auditd rules to identify abnormal usage patterns on shared storage
  • Baseline xattr counts on critical files and alert on unexpected drift after cluster reflink operations

How to Mitigate CVE-2026-43168

Immediate Actions Required

  • Apply the upstream stable kernel update containing the cleanup fix to all nodes mounting ocfs2 volumes
  • Coordinate the patch rollout across cluster members to avoid mixed-version metadata handling
  • Restrict reflink usage on ocfs2 volumes carrying sensitive xattr data until patched kernels are deployed

Patch Information

The fix is committed to the upstream Linux kernel and backported to stable branches. Reference the following commits: 02acc9f, 2f4dacc, 3bdc376, 5138c93, 8ff3293, b2952db, bb273b6, and c44d86c. Distribution maintainers will ship the patch through their standard kernel update channels.

Workarounds

  • Disable or avoid reflink operations on ocfs2 volumes containing files with extended attributes until kernels are updated
  • Limit local user access on cluster nodes to reduce the attack surface for triggering the cleanup path
  • Increase the cadence of fsck.ocfs2 consistency checks during the patch transition window
bash
# Verify the running kernel includes the ocfs2 reflink fix
uname -r
rpm -q --changelog kernel | grep -i 'ocfs2: fix reflink preserve cleanup'
# Or on Debian-based systems
dpkg -l | grep linux-image
zcat /usr/share/doc/linux-image-$(uname -r)/changelog.Debian.gz | grep -i ocfs2

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.