mirror of https://github.com/acidanthera/audk.git
494127613b
Call gRT->GetVariable() directly to read the SecureBoot variable. It is one byte in size so we can easily place it on the stack instead of having GetEfiGlobalVariable2() allocate it for us, which avoids a few possible error cases. Skip secure boot checks if (and only if): (a) the SecureBoot variable is not present (EFI_NOT_FOUND) according to the return value, or (b) the SecureBoot variable was read successfully and is set to SECURE_BOOT_MODE_DISABLE. Previously the code skipped the secure boot checks on *any* gRT->GetVariable() error (GetEfiGlobalVariable2 sets the variable value to NULL in that case) and also on memory allocation failures. Fixes: CVE-2019-14560 Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=2167 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Suggested-by: Marvin Häuser <mhaeuser@posteo.de> Reviewed-by: Min Xu <min.m.xu@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> |
||
---|---|---|
.. | ||
EnrollFromDefaultKeysApp | ||
FvReportPei | ||
Hash2DxeCrypto | ||
HddPassword | ||
Include | ||
Library | ||
Pkcs7Verify/Pkcs7VerifyDxe | ||
RandomNumberGenerator/RngDxe | ||
Tcg | ||
Test | ||
VariableAuthenticated | ||
SecurityPkg.ci.yaml | ||
SecurityPkg.dec | ||
SecurityPkg.dsc | ||
SecurityPkg.uni | ||
SecurityPkgExtra.uni |