123456789101112131415161718192021222324252627282930313233343536373839404142 |
- From 6290cc499f0fcaa82b3764cf1d9beb2ff27d82a1 Mon Sep 17 00:00:00 2001
- From: B Horn <b@horn.uk>
- Date: Fri, 1 Nov 2024 23:46:55 +0000
- Subject: [PATCH] normal: Remove variables hooks on module unload
- The normal module does not entirely cleanup after itself in
- its GRUB_MOD_FINI() leaving a few variables hooks in place.
- It is not possible to unload normal module now but fix the
- issues for completeness.
- On the occasion replace 0s with NULLs for "pager" variable
- hooks unregister.
- Fixes: CVE-2025-0622
- Reported-by: B Horn <b@horn.uk>
- Signed-off-by: B Horn <b@horn.uk>
- Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
- Upstream: 9c16197734ada8d0838407eebe081117799bfe67
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
- ---
- grub-core/normal/main.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
- diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
- index 3b48cd333..5d848c864 100644
- --- a/grub-core/normal/main.c
- +++ b/grub-core/normal/main.c
- @@ -582,7 +582,9 @@ GRUB_MOD_FINI(normal)
- grub_xputs = grub_xputs_saved;
-
- grub_set_history (0);
- - grub_register_variable_hook ("pager", 0, 0);
- + grub_register_variable_hook ("pager", NULL, NULL);
- + grub_register_variable_hook ("color_normal", NULL, NULL);
- + grub_register_variable_hook ("color_highlight", NULL, NULL);
- grub_fs_autoload_hook = 0;
- grub_unregister_command (cmd_clear);
- }
- --
- 2.50.1
|