CVE-2022-49880: ext4: fix warning in 'ext4_da_release_space'
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.21% (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 0a43c015e98121c91a76154edf42280ce1a8a883, 0de5ee103747fd3a24f1c010c79caabe35e8f0bb, 1b8f787ef547230a3249bcf897221ef0cc78481b.
Low priority for now. Upgrade to Linux Linux 0a43c015e98121c91a76154edf42280ce1a8a883, 0de5ee103747fd3a24f1c010c79caabe35e8f0bb, 1b8f787ef547230a3249bcf897221ef0cc78481b 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: ext4: fix warning in 'ext4_da_release_space' Syzkaller report issue as follows: EXT4-fs (loop0): Free/Dirty block details EXT4-fs (loop0): free_blocks=0 EXT4-fs (loop0): dirty_blocks=0 EXT4-fs (loop0): Block reservation details EXT4-fs (loop0): i_reserved_data_blocks=0 EXT4-fs warning (device loop0): ext4_da_release_space:1527: ext4_da_release_space: ino 18, to_free 1 with only 0 reserved data blocks ------------[ cut here ]------------ WARNING: CPU: 0 PID: 92 at fs/ext4/inode.c:1528 ext4_da_release_space+0x25e/0x370 fs/ext4/inode.c:1524 Modules linked in: CPU: 0 PID: 92 Comm: kworker/u4:4 Not tainted 6.0.0-syzkaller-09423-g493ffd6605b2 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022 Workqueue: writeback wb_workfn (flush-7:0) RIP: 0010:ext4_da_release_space+0x25e/0x370 fs/ext4/inode.c:1528 RSP: 0018:ffffc900015f6c90 EFLAGS: 00010296 RAX: 42215896cd52ea00 RBX: 0000000000000000 RCX: 42215896cd52ea00 RDX: 0000000000000000 RSI: 0000000080000001 RDI: 0000000000000000 RBP: 1ffff1100e907d96 R08: ffffffff816aa79d R09: fffff520002bece5 R10: fffff520002bece5 R11: 1ffff920002bece4 R12: ffff888021fd2000 R13: ffff88807483ecb0 R14: 0000000000000001 R15: ffff88807483e740 FS: 0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005555569ba628 CR3: 000000000c88e000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> ext4_es_remove_extent+0x1ab/0x260 fs/ext4/extents_status.c:1461 mpage_release_unused_pages+0x24d/0xef0 fs/ext4/inode.c:1589 ext4_writepages+0x12eb/0x3be0 fs/ext4/inode.c:2852 do_writepages+0x3c3/0x680 mm/page-writeback.c:2469 __writeback_single_inode+0xd1/0x670 fs/fs-writeback.c:1587 writeback_sb_inodes+0xb3b/0x18f0 fs/fs-writeback.c:1870 wb_writeback+0x41f/0x7b0 fs/fs-writeback.c:2044 wb_do_writeback fs/fs-writeback.c:2187 [inline] wb_workfn+0x3cb/0xef0 fs/fs-writeback.c:2227 process_one_work+0x877/0xdb0 kernel/workqueue.c:2289 worker_thread+0xb14/0x1330 kernel/workqueue.c:2436 kthread+0x266/0x300 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306 </TASK> Above issue may happens as follows: ext4_da_write_begin ext4_create_inline_data ext4_clear_inode_flag(inode, EXT4_INODE_EXTENTS); ext4_set_inode_flag(inode, EXT4_INODE_INLINE_DATA); __ext4_ioctl ext4_ext_migrate -> will lead to eh->eh_entries not zero, and set extent flag ext4_da_write_begin ext4_da_convert_inline_data_to_extent ext4_da_write_inline_data_begin ext4_da_map_blocks ext4_insert_delayed_block if (!ext4_es_scan_clu(inode, &ext4_es_is_delonly, lblk)) if (!ext4_es_scan_clu(inode, &ext4_es_is_mapped, lblk)) ext4_clu_mapped(inode, EXT4_B2C(sbi, lblk)); -> will return 1 allocated = true; ext4_es_insert_delayed_block(inode, lblk, allocated); ext4_writepages mpage_map_and_submit_extent(handle, &mpd, &give_up_on_write); -> return -ENOSPC mpage_release_unused_pages(&mpd, give_up_on_write); -> give_up_on_write == 1 ext4_es_remove_extent ext4_da_release_space(inode, reserved); if (unlikely(to_free > ei->i_reserved_data_blocks)) -> to_free == 1 but ei->i_reserved_data_blocks == 0 -> then trigger warning as above To solve above issue, forbid inode do migrate which has inline data.
- Published
- May 1, 2025
- Updated
- Jun 17, 2026
- EPSS
- 0.2% · 12th percentile
- CWE
- —
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.2%
CISA SSVC decision
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
Vulnrichment: CISA's decision-tree inputs.
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 kernelbefore 4.9.333
- linux linux kernel4.10 and later · before 4.14.299
- linux linux kernel4.15 and later · before 4.19.265
- linux linux kernel4.20 and later · before 5.4.224
- linux linux kernel5.5 and later · before 5.10.154
- linux linux kernel5.11 and later · before 5.15.78
- linux linux kernel5.16 and later · before 6.0.8
- linux linux kernel6.1
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
- 3.8affected
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before 0de5ee103747fd3a24f1c010c79caabe35e8f0bbaffected · git
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before c3bf1e95cfa7d950dc3c064d0c2e3d06b427bc63affected · git
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before 890d738f569fa9412b70ba09f15407f17a52da20affected · git
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before 72743d5598b9096950bbfd6a9b7f173d156eea97affected · git
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before 5370b965b7a945bb8f48b9ee23d83a76a947902eaffected · git
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before 0a43c015e98121c91a76154edf42280ce1a8a883affected · git
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before 89bee03d2fb8c54119b38ac6c24e7d60fae036b6affected · git
- 67cf5b09a46f72e048501b84996f2f77bc42e947 and later · before 1b8f787ef547230a3249bcf897221ef0cc78481baffected · git
- before 3.8not 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.8-1 | 6.0.8-1 |
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-49878May 1, 2025 · bpf, verifier: Fix memory leak in array reallocation for stack state22Monitor
- ← EarlierCVE-2022-49879May 1, 2025 · ext4: fix BUG_ON() when directory entry has invalid rec_len22Monitor
- Later →CVE-2022-49881May 1, 2025 · wifi: cfg80211: fix memory leak in query_regdb_file()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 | 0a43c015e98121c91a76154edf42280ce1a8a883 | Vendor (CNA) |
| Linux Linux | 0de5ee103747fd3a24f1c010c79caabe35e8f0bb | Vendor (CNA) |
| Linux Linux | 1b8f787ef547230a3249bcf897221ef0cc78481b | Vendor (CNA) |
| Linux Linux | 5370b965b7a945bb8f48b9ee23d83a76a947902e | Vendor (CNA) |
| Linux Linux | 72743d5598b9096950bbfd6a9b7f173d156eea97 | Vendor (CNA) |
| Linux Linux | 890d738f569fa9412b70ba09f15407f17a52da20 | Vendor (CNA) |
| Linux Linux | 89bee03d2fb8c54119b38ac6c24e7d60fae036b6 | Vendor (CNA) |
| Linux Linux | c3bf1e95cfa7d950dc3c064d0c2e3d06b427bc63 | Vendor (CNA) |
| debian:linux | 6.0.8-1 · Debian:12 | 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.
FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).
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.
No nightly-computed relations.
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)
—
CVSS 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/0de5ee103747fd3a24f1c010c79caabe35e8f0bb
- git.kernel.org/stable/c/1b8f787ef547230a3249bcf897221ef0cc78481b
- git.kernel.org/stable/c/5370b965b7a945bb8f48b9ee23d83a76a947902e
- git.kernel.org/stable/c/72743d5598b9096950bbfd6a9b7f173d156eea97
- git.kernel.org/stable/c/890d738f569fa9412b70ba09f15407f17a52da20
- git.kernel.org/stable/c/89bee03d2fb8c54119b38ac6c24e7d60fae036b6
- git.kernel.org/stable/c/c3bf1e95cfa7d950dc3c064d0c2e3d06b427bc63
Vendor advisories and official records. Exploit/PoC links are deliberately left out.