CVE-2026-53039
NoneCVSS
—
EPSS
0.2%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
A flaw in a Linux shared-disk filesystem can let someone with local access crash affected servers that use it.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Denial of service
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This is a local denial-of-service flaw in the Linux kernel OCFS2 filesystem resize path. The OCFS2_IOC_GROUP_ADD ioctl can cause ocfs2_group_add() to pass a user-controlled group block into ocfs2_set_new_buffer_uptodate() before the on-disk group descriptor and block number are validated. That helper assumes the metadata buffer is newly allocated and not already present in the selected metadata cache; malformed input can violate that assumption and trigger a kernel BUG_ON in fs/ocfs2/uptodate.c. Depending on kernel configuration, this can crash the calling process, destabilize the node, or panic the kernel. The issue is not known to enable code execution or privilege escalation by itself.
Why it matters to the business
Systems using OCFS2, especially clustered Linux deployments or hosts that mount OCFS2 volumes, may be vulnerable to local disruption if an attacker or untrusted local workload can issue the affected filesystem ioctl. Successful exploitation can interrupt applications, cluster nodes, or shared storage operations, potentially causing service outages and failover events. The current EPSS is low, it is not listed in CISA KEV, and no public exploit maturity is reported, so urgency is highest for environments that actually use OCFS2 or expose local shell/container access to untrusted users.
How an attack unfolds
An attacker first obtains local code execution on a Linux host that has an OCFS2 filesystem mounted or otherwise reachable through a file descriptor. The attacker opens a relevant OCFS2 file or mount point and invokes the OCFS2_IOC_GROUP_ADD ioctl with crafted resize/group-add input. Because the vulnerable kernel path caches the supplied group buffer before fully validating the group descriptor and block number, the attacker-controlled value can cause the metadata cache state to violate an internal kernel assertion. The kernel then hits a BUG_ON in ocfs2_set_new_buffer_uptodate(), producing an oops or panic depending on system policy. The practical result is denial of service rather than data theft or remote compromise.
How to fix it
Apply a Linux kernel update from the operating system or appliance vendor that includes the OCFS2 fix: validation of the on-disk group descriptor before caching, use of the metadata cache associated with main_bm_inode, and corrected cleanup behavior. No exact fixed package versions were provided in the input, so track the relevant vendor kernel advisories for the distribution and kernel stream in use. If immediate patching is not possible, reduce exposure by disabling or unloading OCFS2 where it is not required, preventing untrusted users or workloads from accessing OCFS2 mounts, restricting local shell/container access, and avoiding OCFS2 online resize/group-add operations until patched. In clustered environments, patch and reboot nodes in a controlled rolling maintenance window to avoid storage or quorum disruption.
How to confirm the fix worked
Confirm exposure by checking whether the running kernel includes OCFS2 support and whether any OCFS2 filesystems are mounted. Validate remediation by confirming the installed/running kernel version matches a vendor build that contains the fix, then reboot into that kernel if required. Review vendor changelogs or kernel source for the OCFS2 change that validates group-add input before calling ocfs2_set_new_buffer_uptodate() and uses INODE_CACHE(main_bm_inode). Operationally, verify that OCFS2 mounts remain stable after patching and that normal filesystem operations and planned resize workflows complete without kernel oops messages. Avoid running proof-of-concept crash tests on production systems because successful validation attempts may panic the host.
Typical attack path
- Gain local ability to run code on a Linux system that has OCFS2 support and an OCFS2 filesystem mounted or accessible.
- Open a file descriptor associated with the OCFS2 filesystem or mount point.
- Prepare malformed OCFS2 group-add/resize ioctl input that references an invalid, unexpected, or already-cached group block.
- Invoke OCFS2_IOC_GROUP_ADD against the OCFS2 file descriptor.
- Trigger the vulnerable validation-before-cache ordering bug in ocfs2_group_add().
- Cause a kernel BUG_ON/oops/panic in ocfs2_set_new_buffer_uptodate(), resulting in service disruption or node crash.
How to detect it
Look for evidence in kernel logs, system journals, crash dumps, and cluster event logs. Primary sources include dmesg, /var/log/kern.log, /var/log/messages, journald kernel entries, kdump/vmcore records, and OCFS2/o2cb cluster logs. Search for kernel oops or panic events containing ocfs2_set_new_buffer_uptodate, ocfs2_group_add, ocfs2_ioctl, OCFS2_IOC_GROUP_ADD, or fs/ocfs2/uptodate.c:509. Correlate crashes with local process execution, ioctl-heavy activity, filesystem resize/group-add operations, user logins, container workloads, or unexpected access to OCFS2 mount points. If auditd or eBPF syscall telemetry is available, search for ioctl calls against file descriptors on OCFS2 mounts immediately before the crash. Review kdump backtraces for the call chain ocfs2_set_new_buffer_uptodate -> ocfs2_group_add -> ocfs2_ioctl -> __x64_sys_ioctl. Absence of these artifacts does not prove non-exploitation because a full kernel panic may prevent complete log flushing.
- kernel BUG at fs/ocfs2/uptodate.c:509
- ocfs2_set_new_buffer_uptodate
- ocfs2_group_add
- ocfs2_ioctl
- OCFS2_IOC_GROUP_ADD
- Oops: invalid opcode
- RIP: 0010:ocfs2_set_new_buffer_uptodate
- Call Trace:
- fs/ocfs2/resize.c
- fs/ocfs2/ioctl.c
- INODE_CACHE(main_bm_inode)
- ocfs2_verify_group_and_input
What your security team should do
- Inventory Linux systems for OCFS2 usage by checking loaded modules, mounted filesystems, cluster storage nodes, and kernel package versions.
- Prioritize patching systems with mounted OCFS2 volumes, shared cluster storage, multi-user access, or untrusted local workloads.
- Apply vendor kernel updates that include the OCFS2 group-add validation fix and reboot into the fixed kernel.
- Temporarily disable OCFS2 support or unmount OCFS2 filesystems on systems where the filesystem is not required.
- Restrict local access to hosts using OCFS2 and limit administrative/storage-resize operations to trusted operators until remediation is complete.
- Monitor kernel logs for OCFS2 oops, BUG_ON, ioctl, and resize-related messages that may indicate attempted exploitation or accidental triggering.
- Review cluster failover, fencing, and service availability logs for unexpected node crashes around OCFS2 activity.
- Because the vulnerability is not currently KEV-listed and has low EPSS, use risk-based prioritization rather than emergency internet-wide response, but treat exposed OCFS2 production clusters as higher priority.
The record
In the Linux kernel, the following vulnerability has been resolved: ocfs2: validate group add input before caching [BUG] OCFS2_IOC_GROUP_ADD can trigger a BUG_ON in ocfs2_set_new_buffer_uptodate(): kernel BUG at fs/ocfs2/uptodate.c:509! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:ocfs2_set_new_buffer_uptodate+0x194/0x1e0 fs/ocfs2/uptodate.c:509 Code: ffffe88f 42b9fe4c 89e64889 dfe8b4df Call Trace: ocfs2_group_add+0x3f1/0x1510 fs/ocfs2/resize.c:507 ocfs2_ioctl+0x309/0x6e0 fs/ocfs2/ioctl.c:887 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 RIP: 0033:0x7bbfb55a966d [CAUSE] ocfs2_group_add() calls ocfs2_set_new_buffer_uptodate() on a user-controlled group block before ocfs2_verify_group_and_input() validates that block number. That helper is only valid for newly allocated metadata and asserts that the block is not already present in the chosen metadata cache. The code also uses INODE_CACHE(inode) even though the group descriptor belongs to main_bm_inode and later journal accesses use that cache context instead. [FIX] Validate the on-disk group descriptor before caching it, then add it to the metadata cache tracked by INODE_CACHE(main_bm_inode). Keep the validation failure path separate from the later cleanup path so we only remove the buffer from that cache after it has actually been inserted. This keeps the group buffer lifetime consistent across validation, journaling, and cleanup.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|