CVE-2025-38220
ext4: only dirty folios when data journaling regular files
Reported by linux · Published July 4, 2025
In the Linux kernel, the following vulnerability has been resolved: ext4: only dirty folios when data journaling regular files fstest generic/388 occasionally reproduces a crash that looks as follows: BUG: kernel NULL pointer dereference, address: 0000000000000000 ... Call Trace: <TASK> ext4_block_zero_page_range+0x30c/0x380 [ext4] ext4_truncate+0x436/0x440 [ext4] ext4_process_orphan+0x5d/0x110 [ext4] ext4_orphan_cleanup+0x124/0x4f0 [ext4] ext4_fill_super+0x262d/0x3110 [ext4] get_tree_bdev_flags+0x132/0x1d0 vfs_get_tree+0x26/0xd0 vfs_cmd_create+0x59/0xe0 __do_sys_fsconfig+0x4ed/0x6b0 do_syscall_64+0x82/0x170 ... This occurs when processing a symlink inode from the orphan list. The partial block zeroing code in the truncate path calls ext4_dirty_journalled_data() -> folio_mark_dirty(). The latter calls mapping->a_ops->dirty_folio(), but symlink inodes are not assigned an a_ops vector in ext4, hence the crash. To avoid this problem, update the ext4_dirty_journalled_data() helper to only mark the folio dirty on regular files (for which a_ops is assigned). This also matches the journaling logic in the ext4_symlink() creation path, where ext4_handle_dirty_metadata() is called directly.
EPSS 0.17% · 5.8th percentile
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| kernel-modules-extra-common | Amazon Linux | 6.12.35-55.103.amzn2023 |
| kernel6.12-modules-extra | Amazon Linux | 6.12.35-55.103.amzn2023 |
| kernel-headers | Amazon Linux | 6.12.35-55.103.amzn2023 |
| kernel-libbpf-static | Amazon Linux | 6.12.35-55.103.amzn2023 |
| bpftool | Amazon Linux | 6.12.35-55.103.amzn2023 |
| kernel-libbpf | Amazon Linux | 6.12.35-55.103.amzn2023 |
| kernel-libbpf-devel | Amazon Linux | 6.12.35-55.103.amzn2023 |
| kernel-tools-devel | Amazon Linux | 6.12.35-55.103.amzn2023 |
| python3-perf6.12 | Amazon Linux | 6.12.35-55.103.amzn2023 |
| kernel-tools | Amazon Linux | 6.12.35-55.103.amzn2023 |
| linux_kernel | linux | 6.15.4, 6.12.35, 6.6.95 |
| Linux | Linux | e26268ff1dcae5662c1b96c35f18cfa6ab73d9de, d7af6eee8cd60f55aa8c5fe2b91f11ec0c9a0f27, be5f3061a6f904e3674257879e71881ceee5b673, 6.4 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | d84c9ebdac1e39bc7b036c0c829ee8c1956edabc, d84c9ebdac1e39bc7b036c0c829ee8c1956edabc, d84c9ebdac1e39bc7b036c0c829ee8c1956edabc |
| Linux | Linux | 6.4, 0, 6.6.95 |
| amazon:2023 | kernel-modules-extra-common | 0 |
| amazon:2023 | kernel6.12-modules-extra | 0 |
| amazon:2023 | kernel-headers | 0 |
| amazon:2023 | kernel-libbpf-static | 0 |
| amazon:2023 | bpftool | 0 |
| amazon:2023 | kernel-libbpf | 0 |
| amazon:2023 | kernel-libbpf-devel | 0 |
| amazon:2023 | kernel-tools-devel | 0 |
| amazon:2023 | python3-perf6.12 | 0 |
| amazon:2023 | kernel-tools | 0 |
| Linux | Linux | 6.16, *, * |
| amazon:2023 | kernel6.12 | 0 |
| amazon:2023 | perf6.12 | 0 |
| amazon:2023 | kernel-livepatch-6.12.35-55.103 | 0 |
| linux | linux_kernel | 6.4, 6.4, 6.4 |
| amazon:2023 | kernel-devel | 0 |
Timeline
- Jul 4, 2025 CVE Published
- Jul 5, 2025 EPSS Score (30 in total, the first dated here)
- Oct 12, 2025 PoC Published (27 in total, the first dated here)
- Nov 19, 2025 CVE Updated
- Mar 29, 2026 Distribution Patch (223 in total, the first dated here)
- Mar 29, 2026 Security Advisory (273 in total, the first dated here)
- Jun 9, 2026 Coalition ESS Score
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2025-38220
vulnetix vdb fixes CVE-2025-38220
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2025-38220/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart