CVE-2023-53526
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
01/10/2025
Last modified:
27/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
jbd2: check &#39;jh->b_transaction&#39; before removing it from checkpoint<br />
<br />
Following process will corrupt ext4 image:<br />
Step 1:<br />
jbd2_journal_commit_transaction<br />
__jbd2_journal_insert_checkpoint(jh, commit_transaction)<br />
// Put jh into trans1->t_checkpoint_list<br />
journal->j_checkpoint_transactions = commit_transaction<br />
// Put trans1 into journal->j_checkpoint_transactions<br />
<br />
Step 2:<br />
do_get_write_access<br />
test_clear_buffer_dirty(bh) // clear buffer dirty,set jbd dirty<br />
__jbd2_journal_file_buffer(jh, transaction) // jh belongs to trans2<br />
<br />
Step 3:<br />
drop_cache<br />
journal_shrink_one_cp_list<br />
jbd2_journal_try_remove_checkpoint<br />
if (!trylock_buffer(bh)) // lock bh, true<br />
if (buffer_dirty(bh)) // buffer is not dirty<br />
__jbd2_journal_remove_checkpoint(jh)<br />
// remove jh from trans1->t_checkpoint_list<br />
<br />
Step 4:<br />
jbd2_log_do_checkpoint<br />
trans1 = journal->j_checkpoint_transactions<br />
// jh is not in trans1->t_checkpoint_list<br />
jbd2_cleanup_journal_tail(journal) // trans1 is done<br />
<br />
Step 5: Power cut, trans2 is not committed, jh is lost in next mounting.<br />
<br />
Fix it by checking &#39;jh->b_transaction&#39; before remove it from checkpoint.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.129 (including) | 5.15.132 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1.50 (including) | 6.1.54 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.4.13 (including) | 6.5 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.5.1 (including) | 6.5.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.5:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.5:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.5:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.5:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.5:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.5:rc7:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



