When reading data from a hfs filesystem, grub's hfs filesystem module uses user-controlled parameters from the filesystem metadata to calculate the internal buffers size, however it misses to properly check for integer overflows. A maliciouly crafted filesystem may lead some of those buffer size calculation to overflow, causing it to perform a grub_malloc() operation with a smaller size than expected. As a result the hfsplus_open_compressed_real() function will write past of the internal buffer length. This flaw may be leveraged to corrupt grub's internal critical data and may result in arbitrary code execution by-passing secure boot protections.
Workaround:
The product writes data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://access.redhat.com/security/cve/CVE-2025-1125 | third party advisory vdb entry |
https://bugzilla.redhat.com/show_bug.cgi?id=2346138 | third party advisory issue tracking |
https://lists.gnu.org/archive/html/grub-devel/2025-02/msg00024.html | mailing list vendor advisory |