CVE-2026-53041: OCFS2 listxattr Buffer Overflow DoS in Linux Kernel
A flaw in how the Linux kernel's OCFS2 filesystem reports extended file attributes (xattrs) can cause a kernel crash when listing these attributes on files that store them in multiple locations. When a file's inline xattrs exactly fill a user's buffer and there are additional xattrs stored in blocks, the kernel incorrectly reports a size that exceeds the buffer and then attempts to write beyond it, triggering a kernel panic. This affects systems using OCFS2 as their filesystem, particularly in Oracle environments and high-availability clusters.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.1 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
- Weaknesses (CWE)
- CWE-787
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-14
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix listxattr handling when the buffer is full [BUG] If an OCFS2 inode has both inline and block-based xattrs, listxattr() can return a size larger than the caller's buffer when the inline names consume that buffer exactly. kernel BUG at mm/usercopy.c:102! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:usercopy_abort+0xb7/0xd0 mm/usercopy.c:102 Call Trace: __check_heap_object+0xe3/0x120 mm/slub.c:8243 check_heap_object mm/usercopy.c:196 [inline] __check_object_size mm/usercopy.c:250 [inline] __check_object_size+0x5c5/0x780 mm/usercopy.c:215 check_object_size include/linux/ucopysize.h:22 [inline] check_copy_size include/linux/ucopysize.h:59 [inline] copy_to_user include/linux/uaccess.h:219 [inline] listxattr+0xb0/0x170 fs/xattr.c:926 filename_listxattr fs/xattr.c:958 [inline] path_listxattrat+0x137/0x320 fs/xattr.c:988 __do_sys_listxattr fs/xattr.c:1001 [inline] __se_sys_listxattr fs/xattr.c:998 [inline] __x64_sys_listxattr+0x7f/0xd0 fs/xattr.c:998 ... [CAUSE] Commit 936b8834366e ("ocfs2: Refactor xattr list and remove ocfs2_xattr_handler().") replaced the old per-handler list accounting with ocfs2_xattr_list_entry(), but it kept using size == 0 to detect probe mode. That assumption stops being true once ocfs2_listxattr() finishes the inline-xattr pass. If the inline names fill the caller buffer exactly, the block-xattr pass runs with a non-NULL buffer and a remaining size of zero. ocfs2_xattr_list_entry() then skips the bounds check, keeps counting block names, and returns a positive size larger than the supplied buffer. [FIX] Detect probe mode by testing whether the destination buffer pointer is NULL instead of whether the remaining size is zero. That restores the pre-refactor behavior and matches the OCFS2 getxattr helpers. Once the remaining buffer reaches zero while more names are left, the block-xattr pass now returns -ERANGE instead of reporting a size larger than the allocated list buffer.
8 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in the ocfs2_listxattr() and ocfs2_xattr_list_entry() functions within the OCFS2 filesystem driver. After a 2024 refactoring that replaced per-handler accounting with a unified list-entry function, the code retained logic that used buffer size == 0 as a proxy for detecting probe mode (when the caller only wants the required size, not actual data). This assumption breaks when inline xattrs precisely consume the provided buffer: the subsequent block-xattr iteration runs with a non-NULL buffer pointer but zero remaining size. The bounds check is skipped, the function continues counting attributes beyond the buffer limit, and returns a positive size that exceeds the allocated space. When copy_to_user attempts to transfer this oversized data, the kernel's usercopy protection detects the violation and terminates the process via BUG_ON().
Business impact
Systems relying on OCFS2 (primarily Oracle RAC deployments and clustered storage environments) face unplanned kernel panics during normal file attribute enumeration operations. Applications that recursively scan directory trees and read xattr metadata—such as backup tools, security scanning software, or filesystem auditing utilities—risk triggering crashes that degrade service availability. Recovery requires system restart, and repeated triggers can prevent services from remaining stable.
Affected systems
Linux kernels with OCFS2 filesystem support that have undergone the xattr handler refactoring (commit 936b8834366e and later). This primarily affects Oracle Linux distributions, Red Hat Enterprise Linux with cluster support enabled, and any distribution shipping an affected kernel version used in clustered or high-availability storage configurations. Non-OCFS2 filesystems and systems with OCFS2 disabled are unaffected.
Exploitability
The vulnerability requires local access and involves triggering listxattr() on a crafted or naturally occurring file with both inline and block-based xattrs. No authentication bypass, privilege escalation path, or remote exploitation is present—this is a local denial-of-service condition affecting process stability. An unprivileged user can trigger a crash on processes that read xattrs from files they can access, making it moderately easy to weaponize in multi-user systems but primarily affecting service continuity rather than data confidentiality or integrity.
Remediation
Apply kernel updates containing the fix that changes probe-mode detection from testing buffer size == 0 to testing buffer pointer == NULL. This restores pre-refactor behavior and ensures proper bounds checking. Vendors should backport the fix to affected stable kernel branches. Until patching, restrict listxattr access where possible and monitor system logs for usercopy_abort panics on OCFS2-using nodes.
Patch guidance
Verify availability of patched kernel versions from your Linux distribution (Red Hat, Oracle, Canonical, SUSE, etc.). The fix involves a logic change in ocfs2_listxattr() to pass a boolean indicating probe mode separately rather than inferring it from buffer size. Reboot to activate the patched kernel. No configuration changes are required; the fix is transparent to applications.
Detection guidance
Monitor kernel logs for 'kernel BUG at mm/usercopy.c:102' messages and usercopy_abort call traces involving listxattr and OCFS2 code paths. Enable kernel auditing for xattr syscalls and correlate frequency of such panics with user or application activity. On affected systems, apply systemd journal rate-limiting to prevent log flooding if crashes occur in rapid succession. Check /proc/cmdline or dmesg to confirm OCFS2 is in use.
Why prioritize this
Assigned HIGH severity due to reliable local crash capability affecting availability, combined with CVSS score of 7.1 reflecting high impact on confidentiality and availability. While not remotely exploitable or privilege-escalating, the crash potential in production clustered environments where OCFS2 is mission-critical makes rapid patching essential. Organizations running OCFS2 should treat this as urgent; others can defer.
Risk score, explained
CVSS 3.1 score of 7.1 reflects Attack Vector Local (cannot be exploited remotely), low Attack Complexity (straightforward trigger via listxattr), low Privileges Required (any user can call listxattr on accessible files), and high Availability impact (denial of service via kernel panic). Confidentiality and Integrity are not affected. The score appropriately captures the serious but localized nature of this defect.
Frequently asked questions
Does this affect my Linux system?
Only if you use OCFS2 as a filesystem. Check with 'grep ocfs2 /proc/filesystems' or 'lsmod | grep ocfs2'. OCFS2 is primarily used in Oracle RAC clusters, high-availability setups, and clustered storage. Single-server systems using ext4, XFS, or Btrfs are not affected.
Can an attacker exploit this remotely or escalate privileges?
No. The vulnerability is local denial-of-service only. It requires already-present access to call listxattr on files, and crashes only the calling process or the kernel. No remote code execution, authentication bypass, or privilege escalation is possible.
What should I do right now if I run OCFS2?
Check your kernel version against your distribution's advisory for the patched version. If you are not yet patched, prioritize testing and deploying the update, especially if your OCFS2 cluster is handling production workloads. Until patched, monitor for kernel panics in system logs and restrict xattr-scanning tools where feasible.
Will patching cause downtime?
Kernel updates require a reboot to activate. Plan the reboot during maintenance windows. For clustered deployments, coordinate reboots across nodes to maintain availability, using your cluster's failover and maintenance procedures.
This analysis is provided for informational purposes based on publicly available vulnerability data. No exploit code or proof-of-concept is included. Verify all patch versions, affected kernel ranges, and remediation steps against official vendor advisories before deployment. Test patches in non-production environments first. SEC.co makes no warranties about the completeness or accuracy of derivative analysis and recommends consulting Red Hat Security Advisories, Oracle Linux Security Advisories, and canonical kernel release notes for authoritative information. Source: NVD (public-domain), retrieved 2026-08-01. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10883HIGHType Confusion in Chrome ANGLE Graphics Library
- CVE-2026-10897HIGHCritical Chrome GPU Sandbox Escape Vulnerability
- CVE-2026-10907HIGHChrome ANGLE Out-of-Bounds Write – Remote Code Execution Risk
- CVE-2026-10941HIGHSkia Out-of-Bounds Memory Vulnerability in Chrome – Urgent Patch Required
- CVE-2026-11091HIGHCritical Chrome Memory Corruption Vulnerability in Dawn Graphics Engine
- CVE-2026-11173HIGHChrome V8 Out-of-Bounds Write Sandbox Escape – Patch Guidance
- CVE-2026-12019HIGHChrome Heap Overflow & Sandbox Escape (Linux, ChromeOS)
- CVE-2026-46123HIGHLinux Kernel Virtio Bluetooth Memory Disclosure Vulnerability