CVE-2024-56761: x86/fred: Clear WFE in missing-ENDBRANCH #CPs
In the Linux kernel, the following vulnerability has been resolved:
x86/fred: Clear WFE in missing-ENDBRANCH #CPs
An indirect branch instruction sets the CPU indirect branch tracker (IBT) into WAITFORENDBRANCH (WFE) state and WFE stays asserted across the instruction boundary. When the decoder finds an inappropriate instruction while WFE is set ENDBR, the CPU raises a #CP fault.
For the "kernel IBT no ENDBR" selftest where #CPs are deliberately triggered, the WFE state of the interrupted context needs to be cleared to let execution continue. Otherwise when the CPU resumes from the instruction that just caused the previous #CP, another missing-ENDBRANCH #CP is raised and the CPU enters a dead loop.
This is not a problem with IDT because it doesn't preserve WFE and IRET doesn't set WFE. But FRED provides space on the entry stack (in an expanded CS area) to save and restore the WFE state, thus the WFE state is no longer clobbered, so software must clear it.
Clear WFE to avoid dead looping in ibtclearfredwfe() and the !ibtfatal code path when execution is allowed to continue.
Clobbering WFE in any other circumstance is a security-relevant bug.
[ dhansen: changelog rewording ]
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-56761?
CVE-2024-56761 has not been publicly assigned a CVSS score, but it is related to a critical functionality in the Linux kernel.
How do I fix CVE-2024-56761?
To fix CVE-2024-56761, you should upgrade to a patched version of the Linux kernel that addresses this vulnerability.
Which versions of the Linux kernel are affected by CVE-2024-56761?
CVE-2024-56761 affects Linux kernel versions between 6.6 and 6.12.8, as well as versions 6.13-rc1 to 6.13-rc4.
What type of vulnerability is CVE-2024-56761?
CVE-2024-56761 is an indirect branch tracking vulnerability that impacts the x86 architecture in the Linux kernel.
Is there a workaround for CVE-2024-56761?
Currently, the recommended approach for CVE-2024-56761 is to apply the latest patches rather than relying on workarounds.