CVE-2021-47117: ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix bug on in ext4_es_cache_extent as ext4_split_extent_at failed
We got follow bug_on when run fsstress with injecting IO fault:
[130747.323114] kernel BUG at fs/ext4/extents_status.c:762!
[130747.323117] Internal error: Oops - BUG: 0 [#1] SMP
......
[130747.334329] Call trace:
[130747.334553] ext4_es_cache_extent+0x150/0x168 [ext4]
[130747.334975] ext4_cache_extents+0x64/0xe8 [ext4]
[130747.335368] ext4_find_extent+0x300/0x330 [ext4]
[130747.335759] ext4_ext_map_blocks+0x74/0x1178 [ext4]
[130747.336179] ext4_map_blocks+0x2f4/0x5f0 [ext4]
[130747.336567] ext4_mpage_readpages+0x4a8/0x7a8 [ext4]
[130747.336995] ext4_readpage+0x54/0x100 [ext4]
[130747.337359] generic_file_buffered_read+0x410/0xae8
[130747.337767] generic_file_read_iter+0x114/0x190
[130747.338152] ext4_file_read_iter+0x5c/0x140 [ext4]
[130747.338556] __vfs_read+0x11c/0x188
[130747.338851] vfs_read+0x94/0x150
[130747.339110] ksys_read+0x74/0xf0
This patch's modification is according to Jan Kara's suggestion in:
https://patchwork.ozlabs.org/project/linux-ext4/patch/20210428085158.3728201-1-yebin10@huawei.com/
"I see. Now I understand your patch. Honestly, seeing how fragile is trying
to fix extent tree after split has failed in the middle, I would probably
go even further and make sure we fix the tree properly in case of ENOSPC
and EDQUOT (those are easily user triggerable). Anything else indicates a
HW problem or fs corruption so I'd rather leave the extent tree as is and
don't try to fix it (which also means we will not create overlapping
extents)."
Security readout for executives and security teams
Plain-English summary
CVE-2021-47117 is a Linux kernel ext4 filesystem bug that can trigger a kernel BUG/Oops during extent handling when an extent split fails. The source describes this under fsstress with injected I/O faults, and notes ENOSPC and EDQUOT cases are user-triggerable. Business risk is mainly system instability or denial of service on affected ext4-backed Linux systems.
Executive priority
Treat as a routine but important Linux stability patch. It is not listed as actively exploited, but affected ext4 systems could crash under triggerable storage-pressure conditions. Prioritize multi-user, quota-managed, and critical uptime systems first.
Technical view
The flaw is in ext4 extent status caching after ext4_split_extent_at fails. The reported call trace reaches ext4_es_cache_extent during reads, ending in a kernel BUG. The fix avoids fragile repair after failed extent splits except for ENOSPC and EDQUOT handling, preventing overlapping extents and leaving corruption or hardware-fault cases unchanged.
Likely exposure
Exposure is most likely on Linux systems using ext4 with affected kernel versions listed by the CVE source, including older stable lines around 4.4.272, 4.9.272, 4.14.236, 4.19.194, 5.4.125, 5.10.43, 5.12.10, and 5.13. Distro package status must be checked separately.
Exploitation context
The source bundle does not show known active exploitation, and KEV is false. It does state ENOSPC and EDQUOT paths are easily user triggerable, while other failures suggest hardware problems or filesystem corruption. No remote attack vector or privilege outcome is provided in the sources.
Researcher notes
Evidence is limited to the CVE description and upstream stable commit references. The provided material supports a local or workload-triggered ext4 kernel BUG scenario, not remote code execution. Exact fixed release mapping and distro backports require vendor confirmation outside this bundle.
Mitigation direction
Update affected Linux kernels to versions containing the referenced stable ext4 fixes.
Check distribution kernel advisories for the exact fixed package version.
Prioritize hosts using ext4 for tenant, user, or quota-constrained workloads.
Monitor for kernel Oops or BUG messages involving ext4_es_cache_extent.
Avoid relying on direct upstream version numbers without distro backport confirmation.
Validation and detection
Inventory Linux kernel versions and identify systems using ext4 filesystems.
Compare installed kernels against vendor advisories and the referenced stable commits.
Review system logs for ext4 BUG/Oops traces matching ext4_es_cache_extent.
Confirm patched kernels are booted, not only installed.
For appliances or managed images, request vendor confirmation of the backport.
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-2021-47117 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.