CVE-2026-31596

ocfs2: handle invalid dinode in ocfs2_group_extend

published April 24, 2026

CVSS
—
EPSS
0%
Percentile
6.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

ocfs2: handle invalid dinode in ocfs2_group_extend

[BUG]

kernel BUG at fs/ocfs2/resize.c:308!

Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI

RIP: 0010:ocfs2_group_extend+0x10aa/0x1ae0 fs/ocfs2/resize.c:308

Code: 8b8520ff ffff83f8 860f8580 030000e8 5cc3c1fe

Call Trace:

...

ocfs2_ioctl+0x175/0x6e0 fs/ocfs2/ioctl.c:869

vfs_ioctl fs/ioctl.c:51 [inline]

__do_sys_ioctl fs/ioctl.c:597 [inline]

__se_sys_ioctl fs/ioctl.c:583 [inline]

__x64_sys_ioctl+0x197/0x1e0 fs/ioctl.c:583

x64_sys_call+0x1144/0x26a0 arch/x86/include/generated/asm/syscalls_64.h:17

do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]

do_syscall_64+0x93/0xf80 arch/x86/entry/syscall_64.c:94

entry_SYSCALL_64_after_hwframe+0x76/0x7e

...

[CAUSE]

ocfs2_group_extend() assumes that the global bitmap inode block

returned from ocfs2_inode_lock() has already been validated and

BUG_ONs when the signature is not a dinode. That assumption is too

strong for crafted filesystems because the JBD2-managed buffer path

can bypass structural validation and return an invalid dinode to the

resize ioctl.

[FIX]

Validate the dinode explicitly in ocfs2_group_extend(). If the global

bitmap buffer does not contain a valid dinode, report filesystem

corruption with ocfs2_error() and fail the resize operation instead of

crashing the kernel.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00177 · 6.9th percentile
Published
2026-04-24T14:42Z
EPSS history
Timeline
  • 24 APR 14:42Z
    ocfs2: handle invalid dinode in ocfs2_group_extend
    cvelistv5