In the Linux kernel, the following vulnerability has been resolved:
ocfs2: reject dinodes with non-canonical i_mode type
Patch series "ocfs2: harden inode validators against forged metadata", v2.
This series adds three structural checks to OCFS2 dinode validation so malformed on-disk fields are rejected before ocfs2populateinode() copies them into the in-core inode.
The checks cover:
The normal read path reports these through ocfs2error(), matching the existing suballoc-slot, inline-data, chain-list, and refcount checks. The online filecheck path uses the same structural predicates but keeps its own reporting contract, returning OCFS2FILECHECKERRINVALIDINO instead of calling ocfs2_error().
This patch (of 3):
ocfs2validateinodeblock() currently accepts any non-zero imode value. ocfs2populateinode() then copies that mode verbatim into inode->imode and dispatches on imode & SIFMT to the file/dir/symlink/specialfile iops; an unrecognised type falls through to ocfs2specialfileiops and initspecial_inode().
Reject dinodes whose type bits do not name one of the seven canonical POSIX file types. Use fsumodeto_ftype(), the same generic file-type conversion helper OCFS2 already uses for directory entries, so the accepted inode type set matches the kernel file-type vocabulary instead of open-coding a local switch.
Apply the same structural check to the online filecheck read path. filecheck keeps its own error namespace, so it reports malformed imode through the filecheck logger and OCFS2FILECHECKERRINVALIDINO instead of calling ocfs2error(), but it must not allow a malformed dinode to proceed into ocfs2populate_inode().
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72160.json"
}