CVE-2021-47090: mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page()
In the Linux kernel, the following vulnerability has been resolved:
mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page()
Hulk Robot reported a panic in put_page_testzero() when testing
madvise() with MADV_SOFT_OFFLINE. The BUG() is triggered when retrying
get_any_page(). This is because we keep MF_COUNT_INCREASED flag in
second try but the refcnt is not increased.
page dumped because: VM_BUG_ON_PAGE(page_ref_count(page) == 0)
------------[ cut here ]------------
kernel BUG at include/linux/mm.h:737!
invalid opcode: 0000 [#1] PREEMPT SMP
CPU: 5 PID: 2135 Comm: sshd Tainted: G B 5.16.0-rc6-dirty #373
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
RIP: release_pages+0x53f/0x840
Call Trace:
free_pages_and_swap_cache+0x64/0x80
tlb_flush_mmu+0x6f/0x220
unmap_page_range+0xe6c/0x12c0
unmap_single_vma+0x90/0x170
unmap_vmas+0xc4/0x180
exit_mmap+0xde/0x3a0
mmput+0xa3/0x250
do_exit+0x564/0x1470
do_group_exit+0x3b/0x100
__do_sys_exit_group+0x13/0x20
__x64_sys_exit_group+0x16/0x20
do_syscall_64+0x34/0x80
entry_SYSCALL_64_after_hwframe+0x44/0xae
Modules linked in:
---[ end trace e99579b570fe0649 ]---
RIP: 0010:release_pages+0x53f/0x840
Security readout for executives and security teams
Plain-English summary
This Linux kernel flaw can crash a system during memory failure handling tested through MADV_SOFT_OFFLINE. The public record describes a kernel panic caused by incorrect page reference accounting during a retry path. No CVSS score, KEV listing, or public exploitation evidence is provided in the bundle.
Executive priority
Treat this as a patch-management item with possible availability impact. It is not justified as emergency internet-facing risk from the provided evidence, but affected Linux fleets should be updated through normal kernel maintenance windows.
Technical view
In mm/hwpoison, MF_COUNT_INCREASED was not cleared before retrying get_any_page(). On retry, the flag incorrectly implied a page reference count increase, leading to put_page_testzero()/release_pages BUG conditions when the reference count was zero.
Likely exposure
Exposure is limited to Linux kernels in the affected ranges listed by the CVE source, including 5.10, 5.10.89, 5.15.12, and 5.16 entries. The bundle does not define distribution package names, remote reachability, or privilege requirements.
Exploitation context
The source describes discovery by Hulk Robot while testing madvise() with MADV_SOFT_OFFLINE. It provides crash traces but no proof of active exploitation, no KEV status, and no weaponized exploit information.
Researcher notes
The evidence supports a kernel BUG from stale MF_COUNT_INCREASED state in the hwpoison retry path. Impact beyond local denial of service is not established in the bundle. Version range interpretation should be confirmed against Linux stable and downstream distro metadata.
Mitigation direction
Inventory Linux kernel versions across servers, appliances, and base images.
Apply vendor kernel updates that include the referenced stable Linux fixes.
Check distribution advisories for backported fixes and package-specific version mapping.
Prioritize systems allowing untrusted local workloads until vendor guidance clarifies impact.
Validation and detection
Confirm running kernel versions against vendor advisories and the CVE record.
Verify updated kernels include one of the referenced stable commits or a vendor backport.
Review crash logs for release_pages, put_page_testzero, or MADV_SOFT_OFFLINE-related panics.
Document any systems deferred from patching and their compensating controls.
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-47090 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.