KernelScan.io

HIGH Introduced in 2.6.28

ocfs2 InlineXattr OOB

CVE-2026-90321

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

KernelScan AI4.3MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: ocfs2: validate inline xattrs during inode block validation Patch series "ocfs2: validate xattr entry bounds", v7. This series validates OCFS2 xattr entry name/value bounds when xattr metadata is read and validated, before getxattr() or listxattr() can walk out-of-range entry arrays or offsets from corrupted metadata. This patch (of 2): ocfs2_validate_inode_block() verifies a dinode before OCFS2 users walk metadata from it, but inline xattr metadata is still checked only in operation-specific consumers. The existing ibody lookup helper validates inline header placement and entry count, but inode block validation does not reject entry name/value bounds. Add a flat xattr entry validator and call it from inode block validation for inline xattrs. Keep the operation paths on their existing header/count lookup checks; the full entry bounds check now runs when the inode block is validated at read time. Reject corrupted inline xattr metadata before ocfs2_xattr_ibody_get() or listxattr() can walk past the inline storage. Validation reproduced this kernel report: BUG: KASAN: use-after-free in ocfs2_xattr_find_entry+0x5a/0x170 Read of size 2 at addr ffff8881242a2000 by task python3/529 Call Trace: dump_stack_lvl+0x66/0xa0 print_report+0xce/0x630 kasan_report+0xe0/0x110 ocfs2_xattr_find_entry+0x5a/0x170 ocfs2_xattr_get_nolock+0x20a/0x820 ocfs2_xattr_get+0x10c/0x1e0 __vfs_getxattr+0xe2/0x130 vfs_getxattr+0x185/0x1b0

02

Engine v0.6.0

Risk summary

A corrupted or maliciously crafted ocfs2 filesystem image can cause the kernel to read out of bounds when processing inline extended attributes, potentially leaking kernel memory or causing a kernel panic. Any local user with read access to a file on a mounted ocfs2 filesystem can trigger the bug via getxattr or listxattr, but delivering the corrupted metadata requires control of the filesystem image — typically through removable media or a privileged mount. Products that do not use ocfs2 or that prevent insertion of untrusted filesystem images are not affected.

Affectedfs/ocfs2/xattr.c (ocfs2 filesystem)

Vulnerability analysis

When an ocfs2 inode stores extended attributes inline, the kernel validates the inode block at read time but does not check whether individual xattr entry name and value offsets remain within the inline storage region. A corrupted or crafted filesystem image can specify out-of-bounds offsets, causing the kernel to read past the inline xattr area when a process calls getxattr or listxattr on a file. The fix adds a validation routine that checks every xattr entry's name offset, name length, value offset, and value size against the inline region bounds, and invokes it during inode block validation so corrupted metadata is rejected before any xattr operation can walk the entries. The vulnerable path is reachable from any local user with read access to a file on a mounted ocfs2 filesystem, but delivering the corrupted metadata requires control of the filesystem image — typically through removable media or a privileged mount.

03

BranchIntroducedFixed inPatch commit
6.122.6.286.12.1148138d06e7a1d
6.62.6.286.6.1607dec19f6bafe
7.22.6.287.2.63fd45b24879f
mainline2.6.287.38914a3330b72

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Affected — no CIP fix yet (latest 6.12.112-cip33)
cip/6.1Affected — no CIP fix yet (latest 6.1.189-cip61)
cip/6.1-rtAffected — no CIP fix yet (latest 6.1.189-cip61-rt32)
cip/5.10Affected — no CIP fix yet (latest 5.10.271-cip78)
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)
cip/4.4Affected — no CIP fix yet (latest 4.4.302-cip115)
cip/4.4-rtAffected — no CIP fix yet (latest 4.4.302-cip115-rt63)