CVE-2025-22113: ext4: avoid journaling sb update on error if journal is destroying
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.
Security readout for executives and security teams
Plain-English summary
This Linux kernel ext4 flaw can crash a system if ext4 error-handling work tries to update the superblock after the journal is already being destroyed during unmount. The source describes a kernel BUG found under LTP stress testing, so the main business concern is availability, not confirmed data theft or remote compromise.
Executive priority
Treat this as a reliability-focused kernel patching item. It does not show confirmed active exploitation in the supplied sources, but kernel crashes on critical ext4 systems can still create meaningful operational disruption.
Technical view
The issue is a race in ext4/jbd2 teardown. During unmount, an error path can schedule update_super_work after JBD2_UNMOUNT is set, causing jbd2_journal_start to hit BUG_ON. The fix adds state indicating journal destruction and falls back to an unjournaled superblock update when journaling is unsafe.
Likely exposure
Systems running affected Linux kernels with ext4 filesystems are the relevant exposure. The provided version data is incomplete and should be verified against distribution kernel advisories and the referenced stable commits.
Exploitation context
No KEV listing is provided, and the source bundle does not cite active exploitation. The observed trigger came from LTP stress tests and ext4 error handling during unmount, so real-world exploitability is not established by the supplied evidence.
Researcher notes
The source identifies a teardown race involving ext4_kill_sb, jbd2_journal_destroy, ext4_handle_error, schedule_work, update_super_work, and jbd2_journal_start. The remediation changes journaling behavior only while the journal is being destroyed. Affected-version metadata is not precise enough for standalone exposure decisions.
Mitigation direction
Check vendor or distribution advisories for patched kernel builds.
Prioritize patching Linux systems that use ext4 for critical workloads.
Map fleet kernel versions against the referenced stable fixes.
Follow vendor guidance if immediate kernel updates are not available.
Validation and detection
Inventory systems using ext4 filesystems and Linux kernels.
Compare running kernel builds with distribution fixes for CVE-2025-22113.
Review crash logs for ext4, jbd2, BUG_ON, or unmount-related panics.
Confirm patched kernels include the referenced ext4 journal-destroy handling change.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-22113 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
4Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Apr 16, 2025, 14:12 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.