VYPR
Medium severity5.5NVD Advisory· Published Apr 24, 2026· Updated Apr 29, 2026

CVE-2026-31596

CVE-2026-31596

Description

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.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A missing dinode validation in ocfs2_group_extend() can cause a kernel BUG when a crafted filesystem triggers the resize ioctl.

Vulnerability

In the Linux kernel's OCFS2 filesystem, the function ocfs2_group_extend() in fs/ocfs2/resize.c assumed that the global bitmap inode block returned by ocfs2 was always a valid dinode. This 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, leading to a kernel BUG at line 308 [1].

Exploitation

An attacker with the ability to mount a maliciously crafted OCFS2 filesystem can trigger this bug by issuing the resize ioctl (ocfs2_ioctl). No special privileges beyond local access to the filesystem are required; the attack surface is local, as the ioctl is invoked from user space via the __x64_sys_ioctl syscall [1].

Impact

Successful exploitation causes a kernel panic (BUG: invalid opcode), resulting in a denial of service (DoS) on the affected system. The crash is immediate and does not require any additional conditions beyond the crafted filesystem [1].

Mitigation

The fix, merged into the Linux kernel stable tree, adds explicit dinode validation in ocfs2_group_extend(). If the global bitmap buffer does not contain a valid dinode, the function now reports filesystem corruption via ocfs2_error() and fails the resize operation instead of crashing the kernel [1]. Users should apply the corresponding stable kernel updates to remediate this vulnerability.

AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
    Range: >=2.6.29,<6.6.136

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

6

News mentions

0

No linked articles in our index yet.