- May 13, 2023
-
-
Steve McIntyre authored
-
- May 10, 2023
-
-
Steve McIntyre authored
-
- May 02, 2023
-
-
Steve McIntyre authored
-
- Apr 23, 2023
-
-
Steve McIntyre authored
-
Steve McIntyre authored
Closes: #1034409
-
- Apr 21, 2023
-
-
Steve McIntyre authored
-
Steve McIntyre authored
-
Steve McIntyre authored
-
- Apr 20, 2023
-
-
Steve McIntyre authored
-
Steve McIntyre authored
-
Steve McIntyre authored
-
Steve McIntyre authored
-
Steve McIntyre authored
Add debconf logic for GRUB_DISABLE_OS_PROBER to make it easier to control things here. Particularly useful for the installer. Closes: #1031594, #1012865.
-
- Apr 14, 2023
-
-
Steve McIntyre authored
Add arm64-handover-to-kernel-if-sb-enabled.patch See merge request grub-team/grub!32
-
- Apr 03, 2023
-
-
Emanuele Rocca authored
Fix Secure Boot on arm64 with patch arm64-handover-to-kernel-if-sb-enabled.patch. Fix: #1033657
-
- Mar 04, 2023
-
-
Ben Hutchings authored
- disk/cryptodisk: When cheatmounting, use the sector info of the cheat device - osdep/devmapper/getroot: Have devmapper recognize LUKS2 - osdep/devmapper/getroot: Set up cheated LUKS2 cryptodisk mount from DM parameters
-
Steve McIntyre authored
-
Steve McIntyre authored
Thanks for tracking this down Antoine!
-
- Feb 09, 2023
-
-
Steve McIntyre authored
-
- Feb 08, 2023
-
-
Colin Watson authored
I've mostly retired from GRUB maintenance since early 2022, so I think it would be better if I weren't listed as an uploader in bookworm. Thanks to Steve and Julian for picking up the torch!
-
Steve McIntyre authored
Closes: #1030846
-
- Jan 15, 2023
-
-
Steve McIntyre authored
Closes: #1026915. Thanks to Pascal Hambourg for the patch.
-
Steve McIntyre authored
It only causes problems. Closes: #1016737
-
- Dec 29, 2022
-
-
Steve McIntyre authored
Fixes #845683
-
Steve McIntyre authored
to install onto devices
-
Steve McIntyre authored
Apply patch from upstream, Closes: #1001414
-
- Dec 14, 2022
-
-
Steve McIntyre authored
Closes: #1026092
-
- Dec 11, 2022
-
-
Steve McIntyre authored
Also needs backports from upstream commits to fix warnings/errors from using gcc 12: be8eb0eed util/mkimage: Fix dangling pointer may be used error acffb8148 build: Fix -Werror=array-bounds array subscript 0 is outside array bounds 3ce13d974 lib/reed_solomon: Fix array subscript 0 is outside array bounds
-
Steve McIntyre authored
Closes: #1021846. Thanks to программист некто for helping to debug the problem!
-
- Dec 06, 2022
-
-
Steve McIntyre authored
Make font fallback handling work!
-
- Dec 04, 2022
-
-
Steve McIntyre authored
-
Steve McIntyre authored
-
Steve McIntyre authored
Due to a mistake in the buster update that left the CVE-2022-2601 bugs in place, we need to bump SBAT for all of the Debian GRUB binaries. :-(
-
Steve McIntyre authored
The previous security updates disallowed loading unsigned fonts when in SB mode. To make things work again: * Embed the "unicode" font into the embedded memdisk image so it can be loaded. * Add the memdisk to our normal grubx64.efi loader too * Add a patch from Chris Coulson to make the font loader look for fonts in the memdisk whenever they're loaded. Closes: #1024395, #1025352, #1024447
-
- Nov 14, 2022
-
-
Steve McIntyre authored
CVE-2022-2601, CVE-2022-3775 Bump SBAT level to 3 for grub-efi packages
-
- Nov 12, 2022
-
-
Zhang Boyang authored
The out->ncomb is a bit-field of 8 bits. So, the max possible value is 255. However, code in grub_unicode_aglomerate_comb() doesn't check for an overflow when incrementing out->ncomb. If out->ncomb is already 255, after incrementing it will get 0 instead of 256, and cause illegal memory access in subsequent processing. This patch introduces GRUB_UNICODE_NCOMB_MAX to represent the max acceptable value of ncomb. The code now checks for this limit and ignores additional combining characters when limit is reached. Reported-by:
Daniel Axtens <dja@axtens.net> Signed-off-by:
Zhang Boyang <zhangboyang.id@gmail.com> Reviewed-by:
Daniel Kiper <daniel.kiper@oracle.com>
-
Zhang Boyang authored
The calculations in blit_comb() need information from glyph's font, e.g. grub_font_get_xheight(main_glyph->font). However, main_glyph->font is NULL if main_glyph comes from ascii_font_glyph[]. Therefore grub_font_get_*() crashes because of NULL pointer. There is already a solution, the null_font. So, assign it to those glyphs in ascii_font_glyph[]. Reported-by:
Daniel Axtens <dja@axtens.net> Signed-off-by:
Zhang Boyang <zhangboyang.id@gmail.com> Reviewed-by:
Daniel Kiper <daniel.kiper@oracle.com>
-
Zhang Boyang authored
As a mitigation and hardening measure add sanity checks to grub_font_blit_glyph() and grub_font_blit_glyph_mirror(). This patch makes these two functions do nothing if target blitting area isn't fully contained in target bitmap. Therefore, if complex calculations in caller overflows and malicious coordinates are given, we are still safe because any coordinates which result in out-of-bound-write are rejected. However, this patch only checks for invalid coordinates, and doesn't provide any protection against invalid source glyph or destination glyph, e.g. mismatch between glyph size and buffer size. This hardening measure is designed to mitigate possible overflows in blit_comb(). If overflow occurs, it may return invalid bounding box during dry run and call grub_font_blit_glyph() with malicious coordinates during actual blitting. However, we are still safe because the scratch glyph itself is valid, although its size makes no sense, and any invalid coordinates are rejected. It would be better to call grub_fatal() if illegal parameter is detected. However, doing this may end up in a dangerous recursion because grub_fatal() would print messages to the screen and we are in the progress of drawing characters on the screen. Reported-by:
Daniel Axtens <dja@axtens.net> Signed-off-by:
Zhang Boyang <zhangboyang.id@gmail.com> Reviewed-by:
Daniel Kiper <daniel.kiper@oracle.com>
-
Zhang Boyang authored
The expression (ctx.bounds.height - combining_glyphs[i]->height) / 2 may evaluate to a very big invalid value even if both ctx.bounds.height and combining_glyphs[i]->height are small integers. For example, if ctx.bounds.height is 10 and combining_glyphs[i]->height is 12, this expression evaluates to 2147483647 (expected -1). This is because coordinates are allowed to be negative but ctx.bounds.height is an unsigned int. So, the subtraction operates on unsigned ints and underflows to a very big value. The division makes things even worse. The quotient is still an invalid value even if converted back to int. This patch fixes the problem by casting ctx.bounds.height to int. As a result the subtraction will operate on int and grub_uint16_t which will be promoted to an int. So, the underflow will no longer happen. Other uses of ctx.bounds.height (and ctx.bounds.width) are also casted to int, to ensure coordinates are always calculated on signed integers. Fixes: CVE-2022-3775 Reported-by:
Daniel Axtens <dja@axtens.net> Signed-off-by:
Zhang Boyang <zhangboyang.id@gmail.com> Reviewed-by:
Daniel Kiper <daniel.kiper@oracle.com>
-
Zhang Boyang authored
Expressions like u64 = u32 * u32 are unsafe because their products are truncated to u32 even if left hand side is u64. This patch fixes all problems like that one in fbutil. To get right result not only left hand side have to be u64 but it's also necessary to cast at least one of the operands of all leaf operators of right hand side to u64, e.g. u64 = u32 * u32 + u32 * u32 should be u64 = (u64)u32 * u32 + (u64)u32 * u32. For 1-bit bitmaps grub_uint64_t have to be used. It's safe because any combination of values in (grub_uint64_t)u32 * u32 + u32 expression will not overflow grub_uint64_t. Other expressions like ptr + u32 * u32 + u32 * u32 are also vulnerable. They should be ptr + (grub_addr_t)u32 * u32 + (grub_addr_t)u32 * u32. This patch also adds a comment to grub_video_fb_get_video_ptr() which says it's arguments must be valid and no sanity check is performed (like its siblings in grub-core/video/fb/fbutil.c). Signed-off-by:
Zhang Boyang <zhangboyang.id@gmail.com> Reviewed-by:
Daniel Kiper <daniel.kiper@oracle.com>
-