7.8
/ 10
HIGH
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Description
In the Linux kernel, the following vulnerability has been resolved:
ocfs2: validate inline data i_size during inode read
When reading an inode from disk, ocfs2_validate_inode_block() performs
various sanity checks but does not validate the size of inline data. If
the filesystem is corrupted, an inode's i_size can exceed the actual
inline data capacity (id_count).
This causes ocfs2_dir_foreach_blk_id() to iterate beyond the inline data
buffer, triggering a use-after-free when accessing directory entries from
freed memory.
In the syzbot report:
- i_size was 1099511627576 bytes (~1TB)
- Actual inline data capacity (id_count) is typically <256 bytes
- A garbage rec_len (54648) caused ctx->pos to jump out of bounds
- This triggered a UAF in ocfs2_check_dir_entry()
Fix by adding a validation check in ocfs2_validate_inode_block() to ensure
inodes with inline data have i_size <= id_count. This catches the
corruption early during inode read and prevents all downstream code from
operating on invalid data.
ocfs2: validate inline data i_size during inode read
When reading an inode from disk, ocfs2_validate_inode_block() performs
various sanity checks but does not validate the size of inline data. If
the filesystem is corrupted, an inode's i_size can exceed the actual
inline data capacity (id_count).
This causes ocfs2_dir_foreach_blk_id() to iterate beyond the inline data
buffer, triggering a use-after-free when accessing directory entries from
freed memory.
In the syzbot report:
- i_size was 1099511627576 bytes (~1TB)
- Actual inline data capacity (id_count) is typically <256 bytes
- A garbage rec_len (54648) caused ctx->pos to jump out of bounds
- This triggered a UAF in ocfs2_check_dir_entry()
Fix by adding a validation check in ocfs2_validate_inode_block() to ensure
inodes with inline data have i_size <= id_count. This catches the
corruption early during inode read and prevents all downstream code from
operating on invalid data.
Basic Information
ID
CVE-2026-43076
Source
Linux
Published
May 6, 2026 at 07:40
Modified
May 8, 2026 at 12:40
Affected Product
Vendor
Linux
Product
Linux
Version
23193e513d1cd69411469f028d56fd175d4a6b07
Affected Versions
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 2.6.24
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 23193e513d1cd69411469f028d56fd175d4a6b07
Linux Linux 2.6.24
References
- git.kernel.org /stable/c/37f074e65f24f10f8d8df224a572e4cb9e6faf63
- git.kernel.org /stable/c/c1de19e891be3bfb3e1d0c7cf07bbb8fb3b77c1b
- git.kernel.org /stable/c/cd2d765aa7157f852999842af32148128c735d39
- git.kernel.org /stable/c/77d0295725109d77f5854ef5b58c0d06c08168cc
- git.kernel.org /stable/c/1524af3685b35feac76662cc551cbc37bd14775f