CVE-2026-97876 Overview
CVE-2026-97876 is a lockdown bypass vulnerability in GNU GRUB that allows a local attacker with control over GRUB's configuration to load unsigned modules while Secure Boot and lockdown remain nominally enabled. The flaw resides in the GRUB serial command, which fails to validate that the supplied Memory-Mapped I/O (MMIO) base address points to an actual Universal Asynchronous Receiver-Transmitter (UART) device. Attackers can redirect writes to arbitrary memory, including the grub_file_verifiers list, disabling subsequent module verification [CWE-822].
Critical Impact
Successful exploitation defeats Secure Boot module verification, enabling unsigned GRUB modules to execute within the boot chain while GRUB continues to report lockdown as enabled.
Affected Products
- GNU GRUB (versions prior to the upstream fix in commit 26beaa3b2720fefdc4d04c1ae209b776fe6848d6)
- Linux distributions shipping vulnerable GRUB builds with Secure Boot enabled
- Systems relying on GRUB lockdown mode for pre-boot integrity enforcement
Discovery Timeline
- 2026-10-02 - CVE-2026-97876 published to NVD
- 2026-10-02 - Last updated in NVD database
Technical Details for CVE-2026-97876
Vulnerability Analysis
The vulnerability resides in GRUB's serial command handler, which accepts an MMIO base address as a user-controlled parameter. GRUB passes this address directly to its UART initialization and I/O routines without confirming the target is a legitimate serial device.
When GRUB subsequently writes UART control bytes to that address, the writes land wherever the attacker directed. The attacker chooses an address overlapping the grub_file_verifiers linked list, which GRUB walks before executing loaded modules.
By corrupting this list, the attacker nullifies the verifier chain. Later insmod operations no longer trigger signature validation, allowing unsigned modules to load. GRUB's lockdown state variable remains unchanged, so introspection and reporting continue to indicate lockdown is active.
Root Cause
The root cause is untrusted pointer dereference [CWE-822] inside the serial command. GRUB assumes any numeric value supplied as an MMIO base is a valid device-backed address. No allow-list, device enumeration check, or range validation gates the subsequent writes.
Attack Vector
Exploitation requires local access and the ability to modify GRUB's configuration or interact with the GRUB command line. The attacker invokes the serial command with --mmio pointing to the memory region containing GRUB's verifier list, then issues follow-on commands whose side effects overwrite the list head. With verification disabled, the attacker loads an unsigned module that executes within the Secure Boot trust boundary.
Technical details are documented in the upstream GRUB commit and the Openwall oss-security advisory.
Detect Identity Attacks the Moment Authentication Fails
Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.
Stop Identity AttacksDetection Methods for CVE-2026-97876
Indicators of Compromise
- Unexpected serial --mmio= invocations in grub.cfg, custom configuration fragments, or GRUB environment blocks.
- Unsigned or unexpected GRUB modules present under /boot/grub/ or /boot/efi/EFI/<distro>/.
- GRUB reporting lockdown enabled while loading modules that should fail verification.
Detection Strategies
- Audit GRUB configuration files for serial commands referencing MMIO base addresses that do not match known UART controllers on the hardware platform.
- Monitor the Extensible Firmware Interface (EFI) System Partition for additions, modifications, or re-signing attempts affecting GRUB binaries and modules.
- Compare installed GRUB packages against distribution package databases to detect downgrade or tampering.
Monitoring Recommendations
- Collect boot integrity measurements from the Trusted Platform Module (TPM) PCRs that cover GRUB and its modules, and alert on unexpected changes.
- Forward file integrity monitoring events from /boot and the ESP into a centralized logging platform for correlation across the fleet.
- Track installation events for the grub2, grub-efi, and shim packages and flag out-of-band changes.
How to Mitigate CVE-2026-97876
Immediate Actions Required
- Apply vendor-supplied GRUB updates incorporating upstream commit 26beaa3b2720fefdc4d04c1ae209b776fe6848d6 as soon as they are available from your Linux distribution.
- Restrict physical and administrative access to systems that rely on Secure Boot lockdown for trust decisions.
- Set and enforce a GRUB superuser password to prevent unauthenticated use of the GRUB command line and editing of menu entries.
Patch Information
The upstream fix adds validation of the MMIO base address passed to the serial command so that non-UART memory regions are rejected. Review the GRUB commit on freedesktop GitLab and apply the distribution package that bundles this change. Also refer to the Openwall oss-security announcement for distribution coordination details.
Workarounds
- Protect grub.cfg and the EFI System Partition with strict file permissions and file integrity monitoring.
- Disable interactive GRUB editing by requiring superuser authentication for all menu entries.
- Enable TPM-based measured boot and remote attestation so that tampering with GRUB or its modules becomes detectable off-host.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

