CVE-2025-40167

CVE-2025-40167

High · published November 12, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
5.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

ext4: detect invalid INLINE_DATA + EXTENTS flag combination

syzbot reported a BUG_ON in ext4_es_cache_extent() when opening a verity

file on a corrupted ext4 filesystem mounted without a journal.

The issue is that the filesystem has an inode with both the INLINE_DATA

and EXTENTS flags set:

EXT4-fs error (device loop0): ext4_cache_extents:545: inode #15:

comm syz.0.17: corrupted extent tree: lblk 0 < prev 66

Investigation revealed that the inode has both flags set:

DEBUG: inode 15 - flag=1, i_inline_off=164, has_inline=1, extents_flag=1

This is an invalid combination since an inode should have either:

- INLINE_DATA: data stored directly in the inode

- EXTENTS: data stored in extent-mapped blocks

Having both flags causes ext4_has_inline_data() to return true, skipping

extent tree validation in __ext4_iget(). The unvalidated out-of-order

extents then trigger a BUG_ON in ext4_es_cache_extent() due to integer

underflow when calculating hole sizes.

Fix this by detecting this invalid flag combination early in ext4_iget()

and rejecting the corrupted inode.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00165 · 5.5th percentile
Published
2025-11-12T16:15Z
References (8)
EPSS history
Timeline
  • 12 NOV 10:26Z
    ext4: detect invalid INLINE_DATA + EXTENTS flag combination
    cvelistv5