From e9872722879cdaf7bc8bae76a1d5c32381aa3de3 Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Wed, 16 Sep 2020 13:59:06 +0100 Subject: [PATCH] [grub] update GRUB 2.04 core.img for Ubuntu 20.10 support * GRUB have cherry-picked patches from the "BootHole" vulnerability fix at https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html and have applied them to their 2.04 GRUB loader. * This results in breakage with "error: symbol 'grub_calloc' not found" when using the release GRUB 2.04 version of core.img. * Therefore, we too cherry-picked some patches to apply on top of GRUB 2.04 release to make our core.img compatible with Ubuntu 20.10. * Closes #1616 * Also increase the maximum write stride for ms-sys to 64 KB (required to write the GRUB 2.05 bootloader which is larger than 32 KB) and update hash DB. --- res/grub/readme.txt | 4 ++-- res/grub2/core.img | Bin 31941 -> 31974 bytes res/grub2/readme.txt | 16 +++++++++++----- src/db.h | 4 +++- src/ms-sys/inc/file.h | 2 +- src/rufus.rc | 10 +++++----- 6 files changed, 22 insertions(+), 14 deletions(-) diff --git a/res/grub/readme.txt b/res/grub/readme.txt index 8b6cfaeb..e7ddc54d 100644 --- a/res/grub/readme.txt +++ b/res/grub/readme.txt @@ -1,7 +1,7 @@ This directory contains the Grub4DOS boot records that are used by Rufus -* grldr.mbr was taken from the official 2019.07.15 release from - http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2019-07-15/ +* grldr.mbr was taken from the official 2020.08.09 release from + http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2020-08-09/ * Note that, for convenience reasons, the first 512 bytes from this grldr.mbr are *not* the ones that Rufus processes when writing the actual MBR (first 512 bytes). diff --git a/res/grub2/core.img b/res/grub2/core.img index a66ff3d5ac1d3c3bb390c64fc263e0879e139e47..a0004f6f710c4c79029d9f54403529b649dcf213 100644 GIT binary patch delta 30346 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
m7L6E0#BX;R!T`1)$OjG)ub<_ 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 UJP#LkH(wv&l9v2EL$aAMn<gPNL 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 diff --git a/res/grub2/readme.txt b/res/grub2/readme.txt index fe9dab6a..6fa0bf4d 100644 --- a/res/grub2/readme.txt +++ b/res/grub2/readme.txt @@ -1,10 +1,16 @@ This directory contains the Grub 2.0 boot records that are used by Rufus -* boot.img and core.img were compiled from - https://ftp.gnu.org/gnu/grub/grub-2.04.tar.xz, on a Debian 9.9 x64 system. - This was done following the guide from: - https://pete.akeo.ie/2014/05/compiling-and-installing-grub2-for.html. - --enable-boot-time was also added during ./configure for Manjaro Linux compatibility. +* boot.img and core.img were created from: + https://ftp.gnu.org/gnu/grub/grub-2.04.tar.xz + with the following two extra patches applied: + - https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00016.html + - https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00017.html + on a Debian 10.x x64 system using the commands: + ./autogen.sh + ./configure --disable-nls --enable-boot-time + make -j6 + cd grub-core + ../grub-mkimage -v -O i386-pc -d. -p\(hd0,msdos1\)/boot/grub biosdisk part_msdos fat ntfs exfat -o core.img * boot.img has been modified to nop the jump @ 0x66 as per grub2's setup.c comments: /* If DEST_DRIVE is a hard disk, enable the workaround, which is diff --git a/src/db.h b/src/db.h index 8729717f..a1db6302 100644 --- a/src/db.h +++ b/src/db.h @@ -1,7 +1,7 @@ /* * Rufus: The Reliable USB Formatting Utility * DB of the hash values we know for downloadable content (GRUB, Syslinux, etc.) - * Copyright © 2016-2019 Pete Batard + * Copyright © 2016-2020 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -85,6 +85,7 @@ static uint8_t sha256db[] = { 0xa6, 0x82, 0x43, 0xa0, 0xf2, 0xe5, 0x90, 0xb8, 0x14, 0x02, 0xd6, 0xfa, 0x62, 0xd4, 0xfd, 0x30, 0x94, 0x8c, 0x00, 0x3d, 0xa1, 0x2b, 0xfe, 0xeb, 0x69, 0xba, 0x20, 0x34, 0x17, 0x27, 0x09, 0x4c, // syslinux-6.03/pre14/ldlinux.sys 0xa9, 0x4a, 0x99, 0xe6, 0xde, 0x68, 0x81, 0x44, 0x49, 0x2b, 0x38, 0xdb, 0xee, 0x09, 0xde, 0x07, 0x30, 0xe3, 0x2e, 0x1c, 0xfd, 0x0a, 0xb2, 0x54, 0x99, 0x22, 0xff, 0xa8, 0x04, 0x01, 0xad, 0x49, // syslinux-6.03/pre2/ldlinux.bss 0xa9, 0x95, 0x68, 0x57, 0x9c, 0xd2, 0x51, 0xaf, 0xf1, 0x34, 0xfc, 0xaa, 0xa8, 0x09, 0x91, 0x60, 0x5e, 0x8f, 0xb1, 0x19, 0x74, 0x51, 0xf7, 0x51, 0xaa, 0x4d, 0x6c, 0x84, 0xbf, 0x65, 0xf4, 0xe3, // syslinux-6.03/pre15/ldlinux.sys + 0xb1, 0x97, 0x91, 0x33, 0xa4, 0x5e, 0x29, 0x4f, 0x54, 0xee, 0xd0, 0xbd, 0x92, 0xb7, 0xf2, 0xb9, 0xa3, 0xd2, 0x26, 0x45, 0xae, 0x28, 0x20, 0x0e, 0x4a, 0xd8, 0xfd, 0x98, 0xaf, 0x24, 0x1a, 0x07, // grub-2.05/core.img 0xb2, 0xf0, 0xde, 0x2e, 0x01, 0xa7, 0xe3, 0x4d, 0x96, 0xa9, 0x76, 0x36, 0x43, 0x05, 0xd3, 0x9f, 0xf8, 0x49, 0xd5, 0x0a, 0xd1, 0x3a, 0xd1, 0xf8, 0xa8, 0xb4, 0x41, 0x1d, 0x1d, 0x53, 0x4e, 0x88, // syslinux-5.10/ldlinux.bss 0xb3, 0xa8, 0xf2, 0x12, 0x89, 0x1c, 0xd2, 0x6e, 0x1a, 0xb4, 0x4a, 0xa8, 0x59, 0x8f, 0x6e, 0x64, 0xc6, 0x83, 0x19, 0x8d, 0x43, 0x00, 0x27, 0x54, 0xec, 0xbd, 0x8a, 0x78, 0xf2, 0xd0, 0xc0, 0x0b, // syslinux-6.03/pre8/ldlinux.sys 0xb3, 0xdc, 0x31, 0x79, 0xf6, 0x2b, 0x20, 0x51, 0xc9, 0x43, 0xe5, 0x2e, 0xeb, 0xf2, 0x29, 0x8a, 0xa4, 0x7e, 0x7c, 0x0a, 0x97, 0x78, 0xe8, 0x62, 0x77, 0xa7, 0x48, 0x2a, 0x27, 0x0a, 0x7a, 0x8e, // syslinux-6.01/ldlinux.bss @@ -94,6 +95,7 @@ static uint8_t sha256db[] = { 0xc3, 0x3b, 0x31, 0x5f, 0xec, 0xe4, 0xad, 0xc4, 0xc3, 0xb2, 0x75, 0x13, 0x22, 0x84, 0x66, 0xe4, 0x44, 0x99, 0xcd, 0xa7, 0xfd, 0x63, 0x97, 0xc5, 0xab, 0xe0, 0xf8, 0xce, 0x4f, 0xe3, 0x45, 0x39, // syslinux-5.10/ldlinux.c32 0xcc, 0x40, 0xba, 0x03, 0x49, 0x78, 0x2c, 0xb4, 0xc9, 0x02, 0x1e, 0x54, 0xdc, 0xc0, 0xa4, 0x54, 0x0c, 0x3a, 0x8b, 0x96, 0x08, 0x8b, 0x3a, 0x56, 0x48, 0x67, 0x19, 0x26, 0xef, 0x44, 0xd2, 0xf0, // syslinux-6.04/ldlinux.bss 0xcd, 0x08, 0xf4, 0x81, 0xfb, 0x0c, 0xda, 0x19, 0xe1, 0x78, 0x6d, 0x43, 0x8d, 0x5c, 0x13, 0x93, 0xf7, 0xbf, 0xf3, 0x81, 0x31, 0x44, 0x4a, 0x0a, 0x5e, 0x54, 0xc1, 0x04, 0xed, 0x1d, 0x4d, 0xad, // syslinux-6.03/pre10/ldlinux.bss + 0xce, 0x4c, 0xb0, 0x9b, 0x45, 0x03, 0xfe, 0x97, 0xca, 0xc3, 0x25, 0x6e, 0xd4, 0x29, 0xfa, 0x4e, 0xc5, 0x0d, 0x96, 0x7b, 0x4e, 0x08, 0x11, 0xa8, 0x98, 0x0d, 0x95, 0x51, 0x3f, 0x7d, 0x53, 0xe1, // grub-2.04/core.img 0xd0, 0x15, 0x48, 0xaf, 0x46, 0xf6, 0x4f, 0xed, 0x16, 0x69, 0xa5, 0x6e, 0x69, 0x31, 0x56, 0xb5, 0xde, 0x39, 0xd6, 0xbf, 0xa8, 0x6e, 0x9e, 0x07, 0x13, 0x1d, 0x70, 0x06, 0x3c, 0x56, 0x3d, 0xd0, // grub4dos/grldr.mbr 0xd2, 0xc6, 0x93, 0x8d, 0xae, 0x5a, 0xd7, 0x16, 0x0e, 0x9e, 0x6c, 0x61, 0xef, 0x46, 0xb7, 0xfd, 0x14, 0x6e, 0x30, 0xc0, 0x3f, 0xdc, 0x8f, 0x5c, 0x6d, 0xbd, 0xeb, 0x86, 0x22, 0xc8, 0xa7, 0xbd, // syslinux-5.00/ldlinux.bss 0xd3, 0x47, 0x2c, 0x02, 0x26, 0x3a, 0xcf, 0x9c, 0xd1, 0xda, 0x5d, 0xb5, 0x1e, 0x26, 0x3c, 0x54, 0x84, 0xba, 0xd1, 0x3e, 0xa6, 0x86, 0x18, 0xc4, 0x03, 0xd9, 0xcb, 0x01, 0xca, 0x07, 0x0a, 0xee, // syslinux-6.04/ldlinux.c32 diff --git a/src/ms-sys/inc/file.h b/src/ms-sys/inc/file.h index 388b8c9c..6ae42200 100644 --- a/src/ms-sys/inc/file.h +++ b/src/ms-sys/inc/file.h @@ -4,7 +4,7 @@ #include /* Max valid value of uiLen for contains_data */ -#define MAX_DATA_LEN 32768 +#define MAX_DATA_LEN 65536 /* We hijack the FILE structure for our own needs */ typedef struct { diff --git a/src/rufus.rc b/src/rufus.rc index d478d13b..7de6862a 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 232, 326 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 3.12.1703" +CAPTION "Rufus 3.12.1704" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -395,8 +395,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,12,1703,0 - PRODUCTVERSION 3,12,1703,0 + FILEVERSION 3,12,1704,0 + PRODUCTVERSION 3,12,1704,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -414,13 +414,13 @@ BEGIN VALUE "Comments", "https://rufus.ie" VALUE "CompanyName", "Akeo Consulting" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "3.12.1703" + VALUE "FileVersion", "3.12.1704" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2020 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" VALUE "OriginalFilename", "rufus-3.12.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.12.1703" + VALUE "ProductVersion", "3.12.1704" END END BLOCK "VarFileInfo"