CVE-2024-56738
NoneCVSS
—
EPSS
0.4%
Published
Dec 29, 2024
CISA due date
—
Cloudanix analysis
A bootloader component compares sensitive data in a way that leaks information through small timing differences, potentially letting an attacker with physical access steal secrets used to start the computer.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Data Exposure
- Component
- Application
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The grub_crypto_memcmp function in GRUB2 through 2.12 performs a non-constant-time memory comparison, enabling timing-based side-channel attacks that can leak cryptographic material.
Why it matters to the business
Attackers may recover sensitive keys or secrets used during the boot process, undermining system integrity and confidentiality on affected devices and increasing risk of unauthorized access or persistent compromise.
How an attack unfolds
An attacker with local or physical access observes minute timing differences when the vulnerable comparison function processes attacker-controlled data versus secret values, allowing statistical inference of the secret over multiple measurements.
How to fix it
Update GRUB2 to a version implementing constant-time comparison in grub_crypto_memcmp; for the listed Firefox packages on Ubuntu 14.04 LTS apply the fixed version 50.0+build2-0ubuntu0.14.04.2.
How to confirm the fix worked
Confirm GRUB2 version is newer than 2.12 with the constant-time memcmp patch applied and verify no timing variance in comparison benchmarks.
Typical attack path
- Obtain local or physical access to a system using vulnerable GRUB2
- Craft inputs or observe boot-time cryptographic operations
- Measure execution timing of grub_crypto_memcmp
- Apply statistical analysis to recover secret material
How to detect it
Examine boot logs and timing analysis artifacts on systems with physical access history; look for repeated local access patterns around boot operations.
What your security team should do
- Prioritize patching GRUB2 on all bootable systems within the next maintenance window
- Audit boot loader configurations for exposure of cryptographic material
- Monitor for local access attempts on high-value endpoints
The record
GNU GRUB (aka GRUB2) through 2.12 does not use a constant-time algorithm for grub_crypto_memcmp and thus allows side-channel attacks.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | grub2 | 0 | No fix |
| Debian:12 | grub2 | 0 | No fix |
| Debian:13 | grub2 | 0 | No fix |
| SUSE:Linux Enterprise Micro 5.1 | grub2 | 0 | 2.04-150300.3.14.2 |
| SUSE:Linux Enterprise Micro 5.2 | grub2 | 0 | 2.04-150300.22.58.1 |
| SUSE:Linux Enterprise Micro 5.3 | grub2 | 0 | 2.06-150400.11.63.1 |
| SUSE:Linux Enterprise Micro 5.4 | grub2 | 0 | 2.06-150400.11.63.1 |
| SUSE:Linux Enterprise Micro 5.5 | grub2 | 0 | 2.06-150500.29.53.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | grub2 | 0 | 2.12-150600.8.34.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | grub2 | 0 | 2.12-150600.8.34.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | grub2 | 0 | 2.02-190.1 |
| Ubuntu:16.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:16.04:LTS | grub2-unsigned | 0 | No fix |
| Ubuntu:18.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:18.04:LTS | grub2-unsigned | 0 | No fix |
| Ubuntu:20.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:20.04:LTS | grub2-unsigned | 0 | No fix |
| Ubuntu:22.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:22.04:LTS | grub2-unsigned | 0 | No fix |
| Ubuntu:24.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:24.04:LTS | grub2-unsigned | 0 | No fix |
| Ubuntu:24.10 | grub2-signed | 0 | No fix |
| Ubuntu:24.10 | grub2-unsigned | 0 | No fix |
| Ubuntu:25.04 | grub2-signed | 0 | No fix |
| Ubuntu:25.04 | grub2-unsigned | 0 | No fix |
| Ubuntu:25.10 | grub2-signed | 0 | No fix |
| Ubuntu:25.10 | grub2-unsigned | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | grub2 | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | grub2-unsigned | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | grub2-unsigned | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | grub2-signed | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | grub2-unsigned | 0 | No fix |
| openSUSE:Leap 15.6 | grub2 | 0 | 2.12-150600.8.34.1 |
| openSUSE:Leap 16.0 | grub2 | 0 | 2.12-160000.3.1 |
| openSUSE:Tumbleweed | grub2 | 0 | 2.12-56.1 |
Related vulnerabilities
- CVE-2024-56737 GNU GRUB (aka GRUB2) through 2.12 has a heap-based buffer overflow in fs/hfs.c via… Also affects grub2
- CVE-2024-49504 grub2 allowed attackers with access to the grub shell to access files on the encrypted… Also affects grub2
- CVE-2023-4692 An out-of-bounds write flaw was found in grub2's NTFS filesystem driver. Also affects grub2
- CVE-2023-4693 An out-of-bounds read flaw was found on grub2's NTFS filesystem driver. Also affects grub2
- CVE-2022-28736 There's a use-after-free vulnerability in grub_cmd_chainloader() function; The… Also affects grub2
- CVE-2022-28735 The GRUB2's shim_lock verifier allows non-kernel files to be loaded on shim-powered… Also affects grub2
- CVE-2022-28733 Integer underflow in grub_net_recv_ip4_packets; A malicious crafted IP packet can lead to… Also affects grub2
- CVE-2022-28734 Out-of-bounds write when handling split HTTP headers; When handling split HTTP headers… Also affects grub2