Skip to main content
← All vulnerabilities
CVE-2026-90321

ocfs2: validate inline xattrs during inode block validation

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.160, 6.12.114, 7.2.6
None on Exploit-DB, Metasploit or GitHub

Summary

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

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From cf1d6c763fbcb115263114302485ad17e7933d87 · fixed in 7dec19f6bafe4e1503007141c9f5eb7eb10e5578; From cf1d6c763fbcb115263114302485ad17e7933d87 · fixed in 8138d06e7a1d9a0b0481dc015c67b34e8bb60a58; From cf1d6c763fbcb115263114302485ad17e7933d87 · fixed in 3fd45b24879fa4885b66a582a6e47eda67f11310; From cf1d6c763fbcb115263114302485ad17e7933d87 · fixed in 8914a3330b72378136c2c02d6328a826f6abdad7

  • Linux Linux

    2.6.28

  • KernelLinux

    From 2.6.28 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 7.2.6

References 4

git.kernel.org