<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-29T23:03:28.706648+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2023-53526</id>
    <title>CVE-2023-53526 — jbd2: check 'jh-&gt;b_transaction' before removing it from checkpoint</title>
    <updated>2026-09-29T23:03:28.707839+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>jbd2: check 'jh-&gt;b_transaction' before removing it from checkpoint</p>
<p>Following process will corrupt ext4 image:
Step 1:
jbd2_journal_commit_transaction
 __jbd2_journal_insert_checkpoint(jh, commit_transaction)
 // Put jh into trans1-&gt;t_checkpoint_list
 journal-&gt;j_checkpoint_transactions = commit_transaction
 // Put trans1 into journal-&gt;j_checkpoint_transactions</p>
<p>Step 2:
do_get_write_access
 test_clear_buffer_dirty(bh) // clear buffer dirty，set jbd dirty
 __jbd2_journal_file_buffer(jh, transaction) // jh belongs to trans2</p>
<p>Step 3:
drop_cache
 journal_shrink_one_cp_list
  jbd2_journal_try_remove_checkpoint
   if (!trylock_buffer(bh))  // lock bh, true
   if (buffer_dirty(bh))     // buffer is not dirty
   __jbd2_journal_remove_checkpoint(jh)
   // remove jh from trans1-&gt;t_checkpoint_list</p>
<p>Step 4:
jbd2_log_do_checkpoint
 trans1 = journal-&gt;j_checkpoint_transactions
 // jh is not in trans1-&gt;t_checkpoint_list
 jbd2_cleanup_journal_tail(journal)  // trans1 is done</p>
<p>Step 5: Power cut, trans2 is not committed, jh is lost in next mounting.</p>
<p>Fix it by checking 'jh-&gt;b_transaction' before remove it from checkpoint.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2023-53526"/>
  </entry>
</feed>
