Commit ff96d56290 for qemu.org
commit ff96d562906644699c6a553c35e6cd51383c26c2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: Wed Sep 16 16:50:50 2026 +0200
hw/uefi: add missing uefi_str_is_valid check to uefi_vars_mm_lock_variable
Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4213
Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-ID: <20260916145050.1329206-1-kraxel@redhat.com>
diff --git a/hw/uefi/var-service-vars.c b/hw/uefi/var-service-vars.c
index e0ea3d532e..ef8849f815 100644
--- a/hw/uefi/var-service-vars.c
+++ b/hw/uefi/var-service-vars.c
@@ -690,6 +690,10 @@ uefi_vars_mm_lock_variable(uefi_vars_state *uv, mm_header *mhdr,
return uefi_vars_mm_error(mhdr, mvar, EFI_BAD_BUFFER_SIZE);
}
+ if (!uefi_str_is_valid(name, lv->name_size, true)) {
+ return uefi_vars_mm_error(mhdr, mvar, EFI_INVALID_PARAMETER);
+ }
+
uefi_trace_variable(__func__, lv->guid, name, lv->name_size);
pe = g_malloc0(sizeof(*pe) + lv->name_size);