CVE-2026-31448
Last modified
CVE-2026-31448 is a critical-severity vulnerability rated 9.4/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: ext4: avoid infinite loops caused by residual data On the mkdir/mknod path, when mapping logical blocks to physical blocks, if inserting a new extent into the extent tree fails (in this example, because the file system disabled the huge file feature when marking the inode as dirty), ext4_ext_map_blocks() only calls ext4_free_blocks() to reclaim the physical block without deleting the corresponding data in the extent tree. This causes subsequent mkdir operations to reference the previously reclaimed physical block number again, even though this physical block is already being used by the xattr block. EPSS estimates a 0.43% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: ext4: avoid infinite loops caused by residual data On the mkdir/mknod path, when mapping logical blocks to physical blocks, if inserting a new extent into the extent tree fails (in this example, because the file system disabled the huge file feature when marking the inode as dirty), ext4_ext_map_blocks() only calls ext4_free_blocks() to reclaim the physical block without deleting the corresponding data in the extent tree. This causes subsequent mkdir operations to reference the previously reclaimed physical block number again, even though this physical block is already being used by the xattr block. Therefore, a situation arises where both the directory and xattr are using the same buffer head block in memory simultaneously. The above causes ext4_xattr_block_set() to enter an infinite loop about "inserted" and cannot release the inode lock, ultimately leading to the 143s blocking problem mentioned in [1]. If the metadata is corrupted, then trying to remove some extent space can do even more harm. Also in case EXT4_GET_BLOCKS_DELALLOC_RESERVE was passed, remove space wrongly update quota information. Jan Kara suggests distinguishing between two cases: 1) The error is ENOSPC or EDQUOT - in this case the filesystem is fully consistent and we must maintain its consistency including all the accounting. However these errors can happen only early before we've inserted the extent into the extent tree. So current code works correctly for this case. 2) Some other error - this means metadata is corrupted. We should strive to do as few modifications as possible to limit damage. So I'd just skip freeing of allocated blocks. [1] INFO: task syz.0.17:5995 blocked for more than 143 seconds. Call Trace: inode_lock_nested include/linux/fs.h:1073 [inline] __start_dirop fs/namei.c:2923 [inline] start_dirop fs/namei.c:2934 [inline]
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Linux | Linux Kernel | >= 2.6.22.1, < 6.1.168 | — |
| Linux | Linux Kernel | >= 6.2, < 6.6.131 | — |
| Linux | Linux Kernel | >= 6.7, < 6.12.80 | — |
| Linux | Linux Kernel | >= 6.13, < 6.18.21 | — |
| Linux | Linux Kernel | >= 6.19, < 6.19.11 | — |
| Linux | Linux Kernel | 2.6.22 | — |
| Linux | Linux Kernel | 7.0 | Rc1 |
References
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2026-31448?
How severe is CVE-2026-31448?
How do I fix CVE-2026-31448?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-31442In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-31443In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-31444In the Linux kernel, the following vulnerability has been re…9.8
- CVE-2026-31445In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-31446In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-31447In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-31449In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-3145A flaw has been found in libvips up to 8.18.0. The affected …7.8
- CVE-2026-31450In the Linux kernel, the following vulnerability has been re…8.8
- CVE-2026-31451In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2026-31452In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-31453In the Linux kernel, the following vulnerability has been re…7.8
Are you affected by CVE-2026-31448?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
