EFI: don't leak heap contents through XEN_EFI_get_next_variable_name
authorJan Beulich <jbeulich@suse.com>
Thu, 5 Mar 2020 10:33:59 +0000 (11:33 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 5 Mar 2020 10:33:59 +0000 (11:33 +0100)
Commit 1f4eb9d27d0e ("EFI: fix getting EFI variable list on some
systems") switched to using the caller provided size for the copy-out
without making sure the copied buffer is properly scrubbed.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: George Dunlap <george.dunlap@citrix.com>
master commit: 4783ee894f6bfb0f4deec9f1fe8e7faceafaa1a2
master date: 2020-02-06 09:52:33 +0100

xen/common/efi/runtime.c

index 2427d22ab3aa8c30f8e73a2379bbf098c798094d..06c405700b2f9b9fc508f1371603ef1ab6651c4e 100644 (file)
@@ -576,7 +576,7 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
             return -EINVAL;
 
         size = op->u.get_next_variable_name.size;
-        name.raw = xmalloc_bytes(size);
+        name.raw = xzalloc_bytes(size);
         if ( !name.raw )
             return -ENOMEM;
         if ( copy_from_guest(name.raw, op->u.get_next_variable_name.name,