CVE-2025-22113 Details
Description
In the Linux kernel, the following vulnerability has been resolved: ext4: avoid journaling sb update on error if journal is destroying Presently we always BUG_ON if trying to start a transaction on a journal marked with JBD2_UNMOUNT, since this should never happen. However, while ltp running stress tests, it was observed that in case of some error handling paths, it is possible for update_super_work to start a transaction after the journal is destroyed eg: (umount) ext4_kill_sb kill_block_super generic_shutdown_super sync_filesystem /* commits all txns */ evict_inodes /* might start a new txn */ ext4_put_super flush_work(&sbi->s_sb_upd_work) /* flush the workqueue */ jbd2_journal_destroy journal_kill_thread journal->j_flags |= JBD2_UNMOUNT; jbd2_journal_commit_transaction jbd2_journal_get_descriptor_buffer jbd2_journal_bmap ext4_journal_bmap ext4_map_blocks ... ext4_inode_error ext4_handle_error schedule_work(&sbi->s_sb_upd_work) /* work queue kicks in */ update_super_work jbd2_journal_start start_this_handle BUG_ON(journal->j_flags & JBD2_UNMOUNT) Hence, introduce a new mount flag to indicate journal is destroying and only do a journaled (and deferred) update of sb if this flag is not set. Otherwise, just fallback to an un-journaled commit. Further, in the journal destroy path, we have the following sequence: 1. Set mount flag indicating journal is destroying 2. force a commit and wait for it 3. flush pending sb updates This sequence is important as it ensures that, after this point, there is no sb update that might be journaled so it is safe to update the sb outside the journal. (To avoid race discussed in 2d01ddc86606) Also, we don't need a similar check in ext4_grp_locked_error since it is only called from mballoc and AFAICT it would be always valid to schedule work here.
A vulnerability in the Linux kernel's ext4 file system has been addressed, which involved improper handling of superblock (sb) updates during certain error conditions. This issue could arise when the journal is in the process of being destroyed, leading to a potential race condition. The vulnerability was identified while running stress tests with the Linux Test Project (LTP). Under specific error handling scenarios, the superblock update process could inadvertently start a new transaction after the journal had been marked for unmounting, causing a 'BUG_ON' condition. To mitigate this, a new mount flag was introduced to indicate when the journal is being destroyed, allowing for safe management of superblock updates without journaling them, thus preventing the race condition.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/ce2f26e73783b4a7c46a86e3af5b5c8de0971790 | kernel.org | Patch |
| https://git.kernel.org/stable/c/db05767b5bc307143d99fe2afd8c43af58d2ebef | kernel.org | Patch |
| https://git.kernel.org/stable/c/eddca44ddf810e27f0c96913aa3cc92ebd679ddb | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| NVD-CWE-noinfo | Insufficient Information to Classify Weakness | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 5.11.1, < 6.12.46 >= 6.13, < 6.14.2 5.11 - 5.11 rc4 5.11 rc5 5.11 rc6 5.11 rc7 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Nov 3, 2025 | Initial Analysis | [email protected] |
| Sep 9, 2025 | CVE Modified | kernel.org |
| Apr 16, 2025 | New CVE Received | kernel.org |