jbd2: fix integer underflow in jbd2_journal_initialize_fast_commit()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.266, 5.15.212, 6.1.178, 6.6.145, 6.12.97, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: jbd2: fix integer underflow in jbd2_journal_initialize_fast_commit() jbd2_journal_initialize_fast_commit() validates journal capacity by checking (journal->j_last - num_fc_blks < JBD2_MIN_JOURNAL_BLOCKS). Both j_last and num_fc_blks are unsigned, so when num_fc_blks exceeds j_last the subtraction wraps to a large value, bypassing the bounds check. The resulting underflow corrupts j_last, j_fc_first, and j_free, leading to journal abort. Fix by checking num_fc_blks against j_last before the subtraction, returning -EFSCORRUPTED.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in aa90f00932bf572d6ef284c977c2a60b39c13bd6; From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in e144ad0250f77e23e28949587b8b57e40dc3b512; From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in 4b48dcb88bb9117e3d3f051175a9a8b7cff7f8b6; From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in fb9b49618ed7296ebfad62a3835da8945f727001; From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in 4450dcaadf7d4aae8b6e4223b5d6ee4eb77097a9; From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in 78955fdce8ff654e6d33a2fa90882a1e7eb26330; From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in a58fc10adf503969fec2007b5afe8987258046c4; From 6866d7b3f2bb4f011041ba54c98b1584497fe2fd · fixed in 289a2ca0c9b7eae74f93fc213b0b971669b8683d
- Linux Linux
5.10
- KernelLinux
From 5.10.0 · fixed in 5.10.266; From 5.11.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5
References 8
git.kernel.org
- stable/c/aa90f00932bf572d6ef284c977c2a60b39c13bd6
- stable/c/e144ad0250f77e23e28949587b8b57e40dc3b512
- stable/c/4b48dcb88bb9117e3d3f051175a9a8b7cff7f8b6
- stable/c/fb9b49618ed7296ebfad62a3835da8945f727001
- stable/c/4450dcaadf7d4aae8b6e4223b5d6ee4eb77097a9
- stable/c/78955fdce8ff654e6d33a2fa90882a1e7eb26330
- stable/c/a58fc10adf503969fec2007b5afe8987258046c4
- stable/c/289a2ca0c9b7eae74f93fc213b0b971669b8683d