CVE-2021-47429·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: powerpc/64s: Fix unrecoverable MCE calling async handler from NMI The machine check handler is not considered NMI on 64s. The early handler is the true NMI handler, and then it schedules the machine_check_exception handler to run when interrupts are enabled. This works fine except the case of an unrecoverable MCE, where the true NMI is taken when MSR[RI] is clear, it can not recover, so it calls machine_check_exception directly so something might be done about it. Calling an async handler from NMI context can result in irq state and other things getting corrupted. This can also trigger the BUG at arch/powerpc/include/asm/interrupt.h:168 BUG_ON(!arch_irq_disabled_regs(regs) && !(regs->msr & MSR_EE)); Fix this by making an _async version of the handler which is called in the normal case, and a NMI version that is called for unrecoverable interrupts.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.14.12
- Published
- 2024-05-21
Affected versions
From: 5.14
Until: 5.14.12
Fixed in: 5.14.12
How to fix this CVE
Update your Linux kernel to version 5.14.12 or later to resolve this machine check exception handling vulnerability on PowerPC 64-bit systems. This fix separates the async handler path from the NMI-context path to prevent interrupt state corruption during unrecoverable machine check events. Systems running kernel versions 5.14 through 5.14.11 on PowerPC architecture should prioritize this update to maintain system stability.
sudo dnf update kernelDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your kernel version by running `uname -r` and verify if it falls in the range 5.14.0 to 5.14.11
- Step 2: Confirm if your system is PowerPC 64-bit architecture by running `uname -m` (should show 'ppc64' or 'ppc64le')
- Step 3: Search kernel logs for machine check exceptions using `grep -i 'machine check' /var/log/kern.log` or `journalctl -k | grep -i 'machine check'`
- Step 4: After updating, verify the new kernel is booted with `uname -r` and confirm it reports version 5.14.12 or later
FAQ
What is CVE-2021-47429?
CVE-2021-47429 is a vulnerability in the Linux kernel's PowerPC 64-bit machine check exception handler that causes interrupt state corruption when attempting to handle unrecoverable machine check errors in NMI context.
Is CVE-2021-47429 being actively exploited?
No, CVE-2021-47429 is not listed in CISA's known exploited vulnerabilities database and no public exploits are available. Exploitation would require specific hardware conditions and PowerPC architecture.
What versions of Kernel are affected by CVE-2021-47429?
Linux kernel versions 5.14.0 through 5.14.11 on PowerPC 64-bit systems are vulnerable. The fix is included in kernel version 5.14.12 and later.
How do I check if my server is vulnerable to CVE-2021-47429?
Run `uname -r` to check your kernel version and `uname -m` to verify PowerPC architecture. If you see ppc64/ppc64le and kernel version 5.14.0-5.14.11, your system is vulnerable.
Does Defensia detect CVE-2021-47429?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2021-47429 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2021-47429. Free for 1 server.
Get started free