CVE-2026-80644
NoneCVSS
—
EPSS
0.2%
Published
Aug 28, 2026
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel can make the whole computer crash if someone tries to open a specially made OCFS2 storage device or file.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Replaces a recoverable error path with an unconditional kernel BUG_ON during OCFS2 journal shutdown when an invalid dinode is encountered on a fuzzed filesystem image, resulting in an immediate kernel panic instead of a clean mount failure.
Why it matters to the business
Mounting a specially crafted OCFS2 volume on an unpatched system causes an immediate kernel crash, leading to denial of service, unplanned reboots, and potential loss of in-flight operations on any system that uses OCFS2.
How an attack unfolds
An attacker crafts or modifies an OCFS2 filesystem image so that its journal dinode is invalid. When a privileged process or automated script attempts to mount the image, the kernel reaches the BUG_ON during journal teardown and panics.
How to fix it
Apply the upstream fix that replaces the BUG_ON with WARN_ON and returns -EIO; update to a kernel containing commit that restores proper error handling on invalid journal dinodes. Rebuild and deploy the patched kernel across all OCFS2-using systems before allowing untrusted volumes to be mounted.
How to confirm the fix worked
Confirm the patch is present by inspecting fs/ocfs2/journal.c for the absence of the BUG_ON at the former line 1034 and the presence of WARN_ON plus -EIO return. Test by attempting to mount a known-bad OCFS2 image and verifying the operation fails gracefully with -EIO instead of panicking.
Typical attack path
- Attacker supplies a malicious OCFS2 image via removable media, network share, or container volume.
- Victim system or service executes mount on the image.
- ocfs2_fill_super proceeds far enough to call journal shutdown.
- ocfs2_journal_toggle_dirty hits BUG_ON on the invalid dinode.
- Kernel panics and the system reboots or halts.
How to detect it
Search kernel logs and crash dumps for the exact BUG line "kernel BUG at fs/ocfs2/journal.c:1034" together with the call trace containing ocfs2_journal_shutdown and ocfs2_fill_super. Correlate mount attempts of OCFS2 volumes immediately preceding such oops entries.
- kernel BUG at fs/ocfs2/journal.c:1034
- ocfs2_journal_toggle_dirty+0x2d6/0x340
- ocfs2_journal_shutdown+0x414/0xc30
- ocfs2_fill_super+0x30a9/0x3cd0
What your security team should do
- Prioritize kernel updates on all systems that may mount OCFS2 volumes, especially servers and build/CI hosts.
- Restrict OCFS2 mounts to trusted, signed images only until patches are deployed.
- Add kernel oops and BUG monitoring to detect attempted exploitation of this or similar filesystem bugs.
The record
In the Linux kernel, the following vulnerability has been resolved: ocfs2: don't BUG_ON an invalid journal dinode [BUG] A fuzzed OCFS2 image can corrupt the current slot journal dinode while mount is still in progress. The mount path first reports the invalid journal block and then crashes in shutdown: kernel BUG at fs/ocfs2/journal.c:1034! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:ocfs2_journal_toggle_dirty+0x2d6/0x340 fs/ocfs2/journal.c:1034 Call Trace: ocfs2_journal_shutdown+0x414/0xc30 fs/ocfs2/journal.c:1116 ocfs2_mount_volume fs/ocfs2/super.c:1785 [inline] ocfs2_fill_super+0x30a9/0x3cd0 fs/ocfs2/super.c:1083 get_tree_bdev_flags+0x38b/0x640 fs/super.c:1698 get_tree_bdev+0x24/0x40 fs/super.c:1721 ocfs2_get_tree+0x21/0x30 fs/ocfs2/super.c:1184 vfs_get_tree+0x9a/0x370 fs/super.c:1758 fc_mount fs/namespace.c:1199 [inline] do_new_mount_fc fs/namespace.c:3642 [inline] do_new_mount fs/namespace.c:3718 [inline] path_mount+0x5b8/0x1ea0 fs/namespace.c:4028 do_mount fs/namespace.c:4041 [inline] __do_sys_mount fs/namespace.c:4229 [inline] __se_sys_mount fs/namespace.c:4206 [inline] __x64_sys_mount+0x282/0x320 fs/namespace.c:4206 ... [CAUSE] ocfs2_journal_toggle_dirty() used to return -EIO when journal->j_bh no longer contained a valid dinode, because the startup and shutdown paths already handled that failure. Commit 10995aa2451a ("ocfs2: Morph the haphazard OCFS2_IS_VALID_DINODE() checks.") changed the check to a BUG_ON() under the assumption that the journal dinode had already been validated. That turns an unexpected invalid journal dinode during mount teardown into a kernel crash instead of a normal mount failure. [FIX] Replace the BUG_ON() with WARN_ON() and return -EIO. This keeps the invariant warning for debugging, but restores the original behavior of failing startup or shutdown cleanly instead of panicking the kernel.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|