CVE-2024-35803: x86/efistub: Call mixed mode boot services on the firmware's stack
In the Linux kernel, the following vulnerability has been resolved:
x86/efistub: Call mixed mode boot services on the firmware's stack
Normally, the EFI stub calls into the EFI boot services using the stack
that was live when the stub was entered. According to the UEFI spec,
this stack needs to be at least 128k in size - this might seem large but
all asynchronous processing and event handling in EFI runs from the same
stack and so quite a lot of space may be used in practice.
In mixed mode, the situation is a bit different: the bootloader calls
the 32-bit EFI stub entry point, which calls the decompressor's 32-bit
entry point, where the boot stack is set up, using a fixed allocation
of 16k. This stack is still in use when the EFI stub is started in
64-bit mode, and so all calls back into the EFI firmware will be using
the decompressor's limited boot stack.
Due to the placement of the boot stack right after the boot heap, any
stack overruns have gone unnoticed. However, commit
5c4feadb0011983b ("x86/decompressor: Move global symbol references to C code")
moved the definition of the boot heap into C code, and now the boot
stack is placed right at the base of BSS, where any overruns will
corrupt the end of the .data section.
While it would be possible to work around this by increasing the size of
the boot stack, doing so would affect all x86 systems, and mixed mode
systems are a tiny (and shrinking) fraction of the x86 installed base.
So instead, record the firmware stack pointer value when entering from
the 32-bit firmware, and switch to this stack every time a EFI boot
service call is made.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue affects a narrow boot path: x86 systems using EFI mixed mode. During early boot, firmware calls could run on a stack that is smaller than UEFI expects, risking memory corruption before the operating system fully starts. The sources do not provide CVSS, CWE, or evidence of exploitation.
Executive priority
Handle through normal kernel patch governance, with priority for older or specialized x86 hardware using 32-bit EFI firmware. Broad emergency action is not supported by the provided evidence because exploitation is not reported and the affected boot path appears uncommon.
Technical view
In x86 EFI stub mixed mode, boot services were called while using the decompressor's fixed 16k boot stack instead of the firmware stack expected by UEFI. Stack overrun could corrupt nearby .data after a layout change. The fix records the firmware stack pointer and switches to it for EFI boot service calls.
Likely exposure
Exposure is likely limited to affected Linux kernel builds on x86 systems using 32-bit EFI firmware with a 64-bit kernel mixed-mode boot flow. The source itself says mixed-mode systems are a tiny and shrinking fraction of x86 installations.
Exploitation context
No active exploitation is stated in the provided sources, and the CVE is not marked KEV. The bundle does not describe a public exploit, attacker prerequisites, or a remote attack path. Treat this as a boot-time reliability and integrity risk until vendor guidance clarifies operational impact.
Researcher notes
Key uncertainty is exploitability beyond early-boot memory corruption. The source describes the root cause and fix but provides no CVSS, CWE, exploit narrative, or distribution-specific affected matrix. Validation should focus on kernel provenance and whether the mixed-mode EFI path is actually used.
Mitigation direction
Update affected Linux kernels to vendor releases containing the referenced stable fixes.
Prioritize systems using x86 EFI mixed-mode boot paths.
Check Linux distribution advisories for backported kernel packages.
Avoid inventing local workarounds; follow kernel or distribution guidance.
Validation and detection
Inventory Linux kernel versions across x86 assets.
Identify systems booting 64-bit kernels through 32-bit EFI firmware.
Confirm whether vendor kernels include the referenced stable commits.
Review boot failures or early-boot corruption reports on affected hardware.
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-2024-35803 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.