CVE-2022-50126: jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted
Noroxi assessment
Priority: Monitor (action score 22/100)
- The sources we track (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) show no public exploit code or exploitation in the wild.
- Probability of exploitation in the next 30 days: 0.19% (FIRST EPSS).
- Someone with local access to the system can trigger it. A low-privileged account is enough. No user action is required. No special conditions are required; it is repeatable.
- Fixed version: Linux Linux 0f61c6dc4b714be9d79cf0782ca02ba01c1b7ac3, 4a734f0869f970b8a9b65062ea40b09a5da9dba8, 6073389db83b903678a0920554fa19f5bdc51c48.
Low priority for now. Upgrade to Linux Linux 0f61c6dc4b714be9d79cf0782ca02ba01c1b7ac3, 4a734f0869f970b8a9b65062ea40b09a5da9dba8, 6073389db83b903678a0920554fa19f5bdc51c48 or later.
Generated automatically from the record's data: CVSS (NVD and CNA), CISA KEV and SSVC, FIRST EPSS, exploit sources, fixed versions. How we calculate it
Primary sources: NVD · CVE.org · FIRST EPSS
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.
- Published
- Jun 18, 2025
- Updated
- Jun 17, 2026
- EPSS
- 0.1% · 9th percentile
- CWE
- CWE-617
Report tools
Action score
22
Monitor
Low priority for now.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.1%
Get told when this record changes
- Not in KEV: no record of exploitation in the wild
- No public exploit code on record
- A fix has been released
If any of these changes, we'll tell you in the daily email digest.
Running WordPress? Scan your site free with WP Lens
Noroxi analysis
What does it mean in your environment?
The assessment above is generated automatically from the record's data; it doesn't know your environment. Our team verifies on your systems whether this vulnerability is actually exploitable and which mitigation is enough.
We use this product, ask for helpAffected systems
Is your version affected?
Pick the product and type the version you run. It's compared with this record's version ranges in your browser; the version isn't sent anywhere.
| Vendor | Product | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- linux linux kernel2.6.20 and later · before 4.14.291
- linux linux kernel4.15 and later · before 4.19.256
- linux linux kernel4.20 and later · before 5.4.211
- linux linux kernel5.5 and later · before 5.10.137
- linux linux kernel5.11 and later · before 5.15.61
- linux linux kernel5.16 and later · before 5.18.18
- linux linux kernel5.19 and later · before 5.19.2
- linux linux kernel2.6.19
Versions reported by the vendor
Affected version ranges reported by the assigning authority (Linux). Independent of NVD's CPE analysis and usually ahead of it.
Linux Linux
- 2.6.19affected
- 470decc613ab2048b619a01028072d932d9086ee and later · before 0f61c6dc4b714be9d79cf0782ca02ba01c1b7ac3affected · git
- 470decc613ab2048b619a01028072d932d9086ee and later · before 6073389db83b903678a0920554fa19f5bdc51c48affected · git
- 470decc613ab2048b619a01028072d932d9086ee and later · before fa5b65d39332fef7a11ae99cb1f0696012a61527affected · git
- 470decc613ab2048b619a01028072d932d9086ee and later · before f7161d0da975adc234161cd0641d0e484f5ce375affected · git
- 470decc613ab2048b619a01028072d932d9086ee and later · before e62f79827784f56499a50ea2e893c98317b5407baffected · git
- 470decc613ab2048b619a01028072d932d9086ee and later · before 731c1662d838fe954c6759e3ee43229b0d928fe4affected · git
- 470decc613ab2048b619a01028072d932d9086ee and later · before ddd896792e1718cb84c96f3e618270589b6886dcaffected · git
- 470decc613ab2048b619a01028072d932d9086ee and later · before 4a734f0869f970b8a9b65062ea40b09a5da9dba8affected · git
- before 2.6.19not affected · semver
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Debian:12 | linux | before 6.0.2-1 | 6.0.2-1 |
| Red Hat:enterprise_linux:8::baseos | bpftool | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bpftool-debuginfo | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-abi-stablelists | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-core | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-core | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-debuginfo | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-devel | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-modules | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debug-modules-extra | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-aarch64 | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-ppc64le | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-s390x | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-debuginfo-common-x86_64 | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-devel | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-doc | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-modules | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-modules-extra | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-tools | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-tools-debuginfo | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
| Red Hat:enterprise_linux:8::baseos | kernel-tools-libs | before 0:4.18.0-553.el8_10 | 0:4.18.0-553.el8_10 |
+12
Same product
linux: all recordsOther highest-scoring records for the same primary product.
- CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV90Now
- CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV89Now
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Now
Published before and after this one in the same product
- ← EarlierCVE-2022-50124Jun 18, 2025 · ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe22Monitor
- ← EarlierCVE-2022-50125Jun 18, 2025 · ASoC: cros_ec_codec: Fix refcount leak in cros_ec_codec_platform_probe22Monitor
- Later →CVE-2022-50127Jun 18, 2025 · RDMA/rxe: Fix error unwind in rxe_create_qp()22Monitor
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| Linux Linux | 0f61c6dc4b714be9d79cf0782ca02ba01c1b7ac3 | Vendor (CNA) |
| Linux Linux | 4a734f0869f970b8a9b65062ea40b09a5da9dba8 | Vendor (CNA) |
| Linux Linux | 6073389db83b903678a0920554fa19f5bdc51c48 | Vendor (CNA) |
| Linux Linux | 731c1662d838fe954c6759e3ee43229b0d928fe4 | Vendor (CNA) |
| Linux Linux | ddd896792e1718cb84c96f3e618270589b6886dc | Vendor (CNA) |
| Linux Linux | e62f79827784f56499a50ea2e893c98317b5407b | Vendor (CNA) |
| Linux Linux | f7161d0da975adc234161cd0641d0e484f5ce375 | Vendor (CNA) |
| Linux Linux | fa5b65d39332fef7a11ae99cb1f0696012a61527 | Vendor (CNA) |
| debian:linux | 6.0.2-1 · Debian:12 | Package registry (OSV) |
| red hat:bpftool | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:bpftool-debuginfo | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-abi-stablelists | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-core | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-debug | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-debug-core | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-debug-debuginfo | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-debug-devel | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-debug-modules | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-debug-modules-extra | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| red hat:kernel-debuginfo | 0:4.18.0-553.el8_10 · Red Hat:enterprise_linux:8::baseos | Package registry (OSV) |
| rocky linux:kernel | 0:4.18.0-553.123.1.el8_10.cloud.0.1 · Rocky Linux:8 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
No history yet (it accumulates with the daily EPSS job).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
No credits in the CNA record.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
- CVE-2026-31739317 days apartcrypto: tegra - Add missing CRYPTO_ALG_ASYNC35Monitor
- CVE-2026-52952371 days apartiommu: Fix WARN_ON in __iommu_group_set_domain_nofail() due to reset35Monitor
- CVE-2025-3980389 days apartscsi: ufs: core: Remove WARN_ON_ONCE() call from ufshcd_uic_cmd_compl()31Monitor
- CVE-2026-31398289 days apartmm/rmap: fix incorrect pte restoration for lazyfree folios31Monitor
- CVE-2026-46117344 days apartRDMA/mana: Remove user triggerable WARN_ON() in mana_ib_create_qp_rss()31Monitor
- CVE-2023-52621449 days apartbpf: Check rcu_read_lock_trace_held() before calling bpf map helpers31Monitor
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
Technical details
Attack conditions
- Someone with local access to the system can trigger it.
- A low-privileged account is enough.
- No user action is required.
- No special conditions are required; it is repeatable.
If successful
- Confidentiality
- none
- Integrity
- none
- Availability
- high · the service can be disrupted
- Attack vector
- Local
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- None
- Integrity impact
- None
- Availability impact
- High
Weakness class (CWE)
CWE-617 · Reachable AssertionCVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
MITRE has no CAPEC/ATT&CK mapping for this CWE.
Change log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Show all references (7 more)Show less
- git.kernel.org/stable/c/4a734f0869f970b8a9b65062ea40b09a5da9dba8
- git.kernel.org/stable/c/6073389db83b903678a0920554fa19f5bdc51c48
- git.kernel.org/stable/c/731c1662d838fe954c6759e3ee43229b0d928fe4
- git.kernel.org/stable/c/ddd896792e1718cb84c96f3e618270589b6886dc
- git.kernel.org/stable/c/e62f79827784f56499a50ea2e893c98317b5407b
- git.kernel.org/stable/c/f7161d0da975adc234161cd0641d0e484f5ce375
- git.kernel.org/stable/c/fa5b65d39332fef7a11ae99cb1f0696012a61527
Vendor advisories and official records. Exploit/PoC links are deliberately left out.