CVE-2021-47350: powerpc/mm: Fix lockup on kernel exec fault
In the Linux kernel, the following vulnerability has been resolved:
powerpc/mm: Fix lockup on kernel exec fault
The powerpc kernel is not prepared to handle exec faults from kernel.
Especially, the function is_exec_fault() will return 'false' when an
exec fault is taken by kernel, because the check is based on reading
current->thread.regs->trap which contains the trap from user.
For instance, when provoking a LKDTM EXEC_USERSPACE test,
current->thread.regs->trap is set to SYSCALL trap (0xc00), and
the fault taken by the kernel is not seen as an exec fault by
set_access_flags_filter().
Commit d7df2443cd5f ("powerpc/mm: Fix spurious segfaults on radix
with autonuma") made it clear and handled it properly. But later on
commit d3ca587404b3 ("powerpc/mm: Fix reporting of kernel execute
faults") removed that handling, introducing test based on error_code.
And here is the problem, because on the 603 all upper bits of SRR1
get cleared when the TLB instruction miss handler bails out to ISI.
Until commit cbd7e6ca0210 ("powerpc/fault: Avoid heavy
search_exception_tables() verification"), an exec fault from kernel
at a userspace address was indirectly caught by the lack of entry for
that address in the exception tables. But after that commit the
kernel mainly relies on KUAP or on core mm handling to catch wrong
user accesses. Here the access is not wrong, so mm handles it.
It is a minor fault because PAGE_EXEC is not set,
set_access_flags_filter() should set PAGE_EXEC and voila.
But as is_exec_fault() returns false as explained in the beginning,
set_access_flags_filter() bails out without setting PAGE_EXEC flag,
which leads to a forever minor exec fault.
As the kernel is not prepared to handle such exec faults, the thing to
do is to fire in bad_kernel_fault() for any exec fault taken by the
kernel, as it was prior to commit d3ca587404b3.
Security readout for executives and security teams
Plain-English summary
CVE-2021-47350 is a Linux kernel issue on PowerPC where certain kernel execute faults can lead to a lockup. The documented impact is availability only, not data theft or privilege escalation. It requires local privileges, so urgency is highest for multi-user or exposed PowerPC Linux systems.
Executive priority
Treat as a moderate patching priority. It can cause denial of service on affected PowerPC Linux systems, but current sources show no remote path, no confidentiality impact, and no confirmed exploitation.
Technical view
The bug is in powerpc/mm fault handling. Kernel-origin execute faults can be misclassified because is_exec_fault() can rely on stale user trap state or unavailable SRR1 bits. The fault handler then fails to set PAGE_EXEC and can loop forever on minor exec faults. Upstream stable commits restore bad_kernel_fault() handling for kernel exec faults.
Likely exposure
Exposure appears limited to Linux systems running affected PowerPC kernels or downstream builds containing the faulty powerpc/mm behavior. The source bundle does not identify specific distributions, cloud images, appliances, or package versions.
Exploitation context
CISA KEV is false, and the supplied sources do not report active exploitation. CVSS indicates local attack vector, low complexity, low privileges, no user interaction, and high availability impact.
Researcher notes
The affected-version evidence is kernel-centric and does not map cleanly to distribution packages. Validation should focus on PowerPC builds and whether the stable commits are included or backported. Do not infer impact on non-PowerPC Linux systems from this bundle.
Mitigation direction
Apply vendor or upstream kernel updates containing the referenced stable fixes.
Prioritize PowerPC Linux hosts with untrusted local users or shared workloads.
Check distribution advisories for exact fixed package versions and backports.
Avoid relying on version strings alone where vendors backport security fixes.
Validation and detection
Inventory PowerPC Linux hosts and record kernel package versions and build provenance.
Confirm whether the relevant upstream stable fix is present or backported.
Review vendor advisories for CVE-2021-47350 coverage on each platform.
Monitor affected systems for kernel lockups tied to powerpc/mm fault handling.
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-47350 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.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.