CVE-2026-72160

Source
https://cve.org/CVERecord?id=CVE-2026-72160
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72160.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-72160
Downstream
Published
2026-08-15T05:53:28.943Z
Modified
2026-08-18T03:56:37.786642643Z
Severity
  • 8.8 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
ocfs2: reject dinodes with non-canonical i_mode type
Details

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:

  • i_mode values whose type bits do not name a canonical POSIX file type;
  • non-device dinodes whose id1.dev1.i_rdev field is non-zero; and
  • non-inline dinodes that claim non-zero isize while iclusters is zero, covering directories unconditionally and regular files on non-sparse volumes.

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().

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72160.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b657c95c11088d77fc1bfc9c84d940f778bf9d12
Fixed
2e3aac33988ef4e4170141db8e995693ea38357c
Fixed
fb024ea29f6cb1f01745e5f2e31646f3acb9aa6f
Fixed
157d31ef45038d89cd19620105e082d43c8e41e0
Fixed
a5b555bcabbb0aff8745ad181768eaf9d964c1ee
Fixed
82afe13558354390d8a592a5334d5f4fd72c0e5c
Fixed
4db3b6a2a8ecf2a89d26a4090ace4072c6fad050
Fixed
b858f2d57cfc9d57ce61b86051d603dc0ebccd40
Fixed
5366a017099c6a3c443be908a05f26fd72af12a1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72160.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.6.29
Fixed
5.10.261
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.97
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.40
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72160.json"