In the Linux kernel, the following vulnerability has been resolved:
jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted
Following process will fail assertion 'jh->b_frozen_data == NULL' in
jbd2_journal_dirty_metadata():
jbd2_journal_commit_transaction
unlink(dir/a)
jh->b_transaction = trans1
jh->b_jlist = BJ_Metadata
journal->j_running_transaction = NULL
trans1->t_state = T_COMMIT
unlink(dir/b)
handle->h_trans = trans2
do_get_write_access
jh->b_modified = 0
jh->b_frozen_data = frozen_buffer
jh->b_next_transaction = trans2
jbd2_journal_dirty_metadata
is_handle_aborted
is_journal_aborted // return false
--> jbd2 abort <--
while (commit_transaction->t_buffers)
if (is_journal_aborted)
jbd2_journal_refile_buffer
__jbd2_journal_refile_buffer
WRITE_ONCE(jh->b_transaction,
jh->b_next_transaction)
WRITE_ONCE(jh->b_next_transaction, NULL)
__jbd2_journal_file_buffer(jh, BJ_Reserved)
J_ASSERT_JH(jh, jh->b_frozen_data == NULL) // assertion failure !
The reproducer (See detail in [Link]) reports:
------------[ cut here ]------------
kernel BUG at fs/jbd2/transaction.c:1629!
invalid opcode: 0000 [#1] PREEMPT SMP
CPU: 2 PID: 584 Comm: unlink Tainted: G W
5.19.0-rc6-00115-g4a57a8400075-dirty #697
RIP: 0010:jbd2_journal_dirty_metadata+0x3c5/0x470
RSP: 0018:ffffc90000be7ce0 EFLAGS: 00010202
Call Trace:
<TASK>
__ext4_handle_dirty_metadata+0xa0/0x290
ext4_handle_dirty_dirblock+0x10c/0x1d0
ext4_delete_entry+0x104/0x200
__ext4_unlink+0x22b/0x360
ext4_unlink+0x275/0x390
vfs_unlink+0x20b/0x4c0
do_unlinkat+0x42f/0x4c0
__x64_sys_unlink+0x37/0x50
do_syscall_64+0x35/0x80
After journal aborting, __jbd2_journal_refile_buffer() is executed with
holding @jh->b_state_lock, we can fix it by moving 'is_handle_aborted()'
into the area protected by @jh->b_state_lock.
Security readout for executives and security teams
Plain-English summary
CVE-2022-50126 is a Linux kernel journaling bug in jbd2, used by filesystems such as ext4. The public record shows a kernel BUG/assertion failure during metadata changes after a journal abort. Business impact is mainly potential system instability or denial of service on affected Linux systems; severity is not scored in the source bundle.
Executive priority
Treat as a routine-to-priority kernel maintenance item, not an emergency, unless critical hosts show matching crashes or run exposed custom kernels. The missing CVSS and lack of exploitation evidence reduce urgency, but kernel BUG conditions can affect availability.
Technical view
The issue occurs when jbd2_journal_dirty_metadata() checks aborted-handle state outside the jh->b_state_lock protected region. During a commit and journal abort race, __jbd2_journal_refile_buffer() can move b_next_transaction while b_frozen_data remains set, triggering J_ASSERT_JH(jh, jh->b_frozen_data == NULL).
Likely exposure
Exposure is limited to Linux kernels in the affected ranges listed by the CVE record, especially systems using jbd2-backed journaling paths. The bundle does not identify distributions, packaged kernel versions, or required attacker privileges.
Exploitation context
The source includes a reproducer description and kernel BUG trace involving unlink operations, but it does not cite public exploitation, KEV listing, exploit code, or remote attackability. KEV is false in the provided bundle.
Researcher notes
Evidence supports a race/assertion failure in jbd2 transaction handling after journal abort. The bundle does not provide CVSS, CWE, distribution mappings, exploitability prerequisites, or a complete affected-version interpretation. Validate against upstream stable commits and downstream vendor advisories before assigning operational risk.
Mitigation direction
Inventory Linux kernel versions across servers, appliances, and container hosts.
Prioritize kernels that use ext4 or other jbd2 journaling paths.
Update to vendor kernels containing the referenced stable fixes.
If vendor packages are unavailable, track Linux stable guidance for this CVE.
Avoid direct upstream patching unless it matches your kernel support model.
Validation and detection
Confirm running kernel versions against vendor advisories for CVE-2022-50126.
Check whether systems use jbd2-backed filesystems such as ext4.
Review kernel logs for BUG traces in jbd2_journal_dirty_metadata or ext4 unlink paths.
Verify fixed kernel packages include one of the referenced stable commits.
Document any unsupported or custom kernels requiring separate assessment.
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-2022-50126 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
9Source 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.
Jun 18, 2025, 11:02 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.