diff --git a/MdeModulePkg/Core/Dxe/FwVol/FwVol.c b/MdeModulePkg/Core/Dxe/FwVol/FwVol.c index 4fa177ed7c..a7b272b4d6 100644 --- a/MdeModulePkg/Core/Dxe/FwVol/FwVol.c +++ b/MdeModulePkg/Core/Dxe/FwVol/FwVol.c @@ -658,6 +658,14 @@ NotifyFwVolBlock ( } ASSERT (FwVolHeader != NULL); + // + // Validate FV Header signature, if not as expected, continue. + // + if (FwVolHeader->Signature != EFI_FVH_SIGNATURE) { + CoreFreePool (FwVolHeader); + continue; + } + if (!VerifyFvHeaderChecksum (FwVolHeader)) { CoreFreePool (FwVolHeader); continue;