23 Commits

Author SHA1 Message Date
Maxim Suhanov
ed691c0e0e commands/search: Introduce the --cryptodisk-only argument
This allows users to restrict the "search" command's scope to
encrypted disks only.

Typically, this command is used to "rebase" $root and $prefix
before loading additional configuration files via "source" or
"configfile". Unfortunately, this leads to security problems,
like CVE-2023-4001, when an unexpected, attacker-controlled
device is chosen by the "search" command.

The --cryptodisk-only argument allows users to ensure that the
file system picked is encrypted.

This feature supports the CLI authentication, blocking bypass
attempts.

Signed-off-by: Maxim Suhanov <dfirblog@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2025-05-06 17:14:02 +02:00
Renaud Métrich
6653343881 commands/search: Add new --efidisk-only option for EFI systems
When using "search" on EFI systems, we sometimes want to exclude devices
that are not EFI disks, e.g. md, lvm. This is typically used when
wanting to chainload when having a software raid (md) for EFI partition:
with no option, "search --file /EFI/redhat/shimx64.efi" sets root envvar
to "md/boot_efi" which cannot be used for chainloading since there is no
effective EFI device behind.

Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-04-04 18:07:04 +02:00
Renaud Métrich
21aed7b88a commands/search: Refactor --no-floppy option to have something generic
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-04-04 17:59:11 +02:00
Elyes Haouas
51f284f82d commands: Remove trailing whitespaces
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-03-14 15:44:26 +01:00
Peter Jones
f725fa7cb2 calloc: Use calloc() at most places
This modifies most of the places we do some form of:

  X = malloc(Y * Z);

to use calloc(Y, Z) instead.

Among other issues, this fixes:
  - allocation of integer overflow in grub_png_decode_image_header()
    reported by Chris Coulson,
  - allocation of integer overflow in luks_recover_key()
    reported by Chris Coulson,
  - allocation of integer overflow in grub_lvm_detect()
    reported by Chris Coulson.

Fixes: CVE-2020-14308

Signed-off-by: Peter Jones <pjones@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-07-29 16:55:47 +02:00
Andrei Borzenkov
5af859bb77 search_wrap: fix memory leak
Found by: Coverity scan.
CID: 96675
2015-06-20 23:38:19 +03:00
Vladimir 'phcoder' Serbinenko
9c815e0120 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
--fs-uuid --set UUID syntax.
2012-04-19 11:32:59 +02:00
Vladimir 'phcoder' Serbinenko
292fdaff95 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
gettextize.
	* grub-core/commands/search_wrap.c (options): Likewise.
2012-03-08 19:07:23 +01:00
Vladimir 'phcoder' Serbinenko
c7c080ad02 * grub-core/commands/search_wrap.c (options): Fix a typo. 2012-03-06 14:07:00 +01:00
Vladimir 'phcoder' Serbinenko
4650daec9c * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
messages.
2012-03-06 11:59:39 +01:00
Vladimir 'phcoder' Serbinenko
8f95d002fe * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
"Command for ...".
	* grub-core/commands/hdparm.c (options): Use "Display" rather than
	"Check" since we don't check anything.
	* grub-core/commands/i386/cpuid.c (options): Clarify that long mode
	is 64-bit one.
	* grub-core/commands/search_wrap.c (options): Clarify the conditions.
	* grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
	(grub_md_sha512_real): Likewise.
2012-03-03 13:09:14 +01:00
Vladimir 'phcoder' Serbinenko
805a8dccc8 * grub-core/commands/gptsync.c: Fix typographic quoting.
* grub-core/commands/ieee1275/suspend.c: Likewise.
	* grub-core/commands/parttool.c: Likewise.
	* grub-core/commands/search_wrap.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/gfxmenu/gui_label.c: Likewise.
	* grub-core/hello/hello.c: Likewise.
	* grub-core/kern/emu/main.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/normal/menu.c: Likewise.
	* grub-core/normal/menu_text.c: Likewise.
	* grub-core/normal/misc.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/grub-setup.c: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2012-03-03 13:05:08 +01:00
Vladimir 'phcoder' Serbinenko
9c4b5c13e6 Improve gettext support. Stylistic fixes and error handling fixes while
on it.
2012-02-08 19:26:01 +01:00
Vladimir 'phcoder' Serbinenko
6babad5e59 Initial integration of hints 2011-12-23 18:19:16 +01:00
Vladimir 'phcoder' Serbinenko
e745cf0ca6 Implement automatic module license checking according to new GNU
guidelines.

	* grub-core/kern/dl.c (grub_dl_check_license): New function.
	(grub_dl_load_core): Use grub_dl_check_license.
	* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
	(GRUB_MOD_LICENSE): Likewise.
	(GRUB_MOD_DUAL_LICENSE): Likewise.
	All modules updated.
2011-04-11 23:01:51 +02:00
Vladimir 'phcoder' Serbinenko
a38b701cbf Rename jail to extractor 2010-09-20 23:01:34 +02:00
Vladimir 'phcoder' Serbinenko
7756d44436 Basic menuentry-retrieveing jail 2010-09-16 23:48:32 +02:00
Vladimir 'phcoder' Serbinenko
ed80f7d586 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
users updated.
	(GRUB_COMMAND_FLAG_MENU): Likewise.
	(GRUB_COMMAND_FLAG_BOTH): Likewise.
	(GRUB_COMMAND_FLAG_TITLE): Removed.
	(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
	(GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
	(GRUB_COMMAND_FLAG_DYNCMD): Likewise.
	(GRUB_COMMAND_FLAG_BLOCKS): Likewise.
	(grub_command_flags_t): New enum. All users updated.
2010-09-14 23:06:01 +02:00
Vladimir 'phcoder' Serbinenko
1f1dd48a17 support subpartition hints 2010-09-13 12:16:22 +02:00
Vladimir 'phcoder' Serbinenko
53d4ca1afc Change from direct arguments to --hint 2010-09-13 11:48:01 +02:00
Vladimir 'phcoder' Serbinenko
a848c54e34 merge mainline into hints 2010-09-13 02:22:10 +02:00
BVK Chaitanya
928bad4708 merge with mainline 2010-08-26 09:30:11 +05:30
BVK Chaitanya
8c41176882 automake commit without merge history 2010-05-06 11:34:04 +05:30