CVE-2025-0686 Grub2: romfs: integer overflow when handling symlinks may lead to heap based out-of-bounds write when reading dat
An integer overflow in GRUB2's romfs module allows heap-based out-of-bounds writes, enabling arbitrary code execution and secure boot bypass.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-0686?
CVE-2025-0686 is a medium-severity vulnerability in Red Hat Enterprise Linux 10, published on 3 Mar 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
A flaw was found in grub2. When performing a symlink lookup from a romfs filesystem, grub's romfs filesystem module uses user-controlled parameters from the filesystem geometry to determine the internal buffer size, however, it improperly checks for integer overflows. A maliciously crafted filesystem may lead some of those buffer size calculations to overflow, causing it to perform a grub_malloc() operation with a smaller size than expected. As a result, the grub_romfs_read_symlink() may cause out-of-bounds writes when the calling grub_disk_read() function. This issue may be leveraged to corrupt grub's internal critical data and can result in arbitrary code execution by-passing secure boot protections.
Weakness: CWE-787
Which versions are affected by CVE-2025-0686?
It affects 1 product.
Products include Gnu Grub2.
How do I fix CVE-2025-0686?
Apply the vendor's patch.
Is CVE-2025-0686 being exploited?
There is no known exploitation of CVE-2025-0686 in the wild and no public exploit code.
Other vulnerabilities in Red Hat Enterprise Linux 10
- CVE-2024-56737 Memory corruption in GRUB2
- CVE-2022-28733 Integer underflow in grub_net_recv_ip4_packets
- CVE-2022-28734 Out-of-bounds write when handling split HTTP headers
- CVE-2025-61662 Grub2: missing unregister call for gettext command may lead to use-after-free
- CVE-2024-45782 Grub2: fs/hfs: strcpy() using the volume name (fs/hfs.c:382)
Sources
Also known as AZL-57672, AZL-57700, BELL-CVE-2025-0686, DEBIAN-CVE-2025-0686, GHSA-5pg5-wv5r-mmj7, UBUNTU-CVE-2025-0686.