Bug 2413827 (CVE-2025-61661)

Summary: CVE-2025-61661 grub2: grub2: Out-of-bounds write via malicious USB device
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A vulnerability has been identified in the GRUB (Grand Unified Bootloader) component. This flaw occurs because the bootloader mishandles string conversion when reading information from a USB device, allowing an attacker to exploit inconsistent length values. A local attacker can connect a maliciously configured USB device during the boot sequence to trigger this issue. A successful exploitation may lead GRUB to crash, leading to a Denial of Service. Data corruption may be also possible, although given the complexity of the exploit the impact is most likely limited.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Deadline: 2025-11-18   

Description OSIDB Bzimport 2025-11-10 20:19:12 UTC
When reading strings from a USB device in grub_usb_get_string() function the initial length is taken from first message read. Then this value is used to allocate memory for UTF-8 destination string. However, during conversion the length value is taken from the second USB device read. This can be dangerous if malicious USB devices are connected because they may expose smaller initial length value, used for memory allocation, and subsequent read may provide larger length, used during conversion. Such behavior may lead to heap overflow during UTF-16 to UTF-8 conversion.