An issue was discovered in SystemFirmwareManagementRuntimeDxe in Insyde InsydeH2O with kernel 5.0 through 5.5. The implementation of the GetImage method retrieves the value of a runtime variable named GetImageProgress, and later uses this value as a function pointer. This variable is wiped out by the same module near the end of the function. By setting this UEFI variable from the OS to point into custom code, an attacker could achieve arbitrary code execution in the DXE phase, before several chipset locks are set.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Insydeh2o | Insyde | 5.2 (including) | 5.2.05.28.22 (excluding) |
Insydeh2o | Insyde | 5.3 (including) | 5.3.05.37.22 (excluding) |
Insydeh2o | Insyde | 5.4 (including) | 5.4.05.45.22 (excluding) |
Insydeh2o | Insyde | 5.5 (including) | 5.5.05.53.22 (excluding) |
Insydeh2o | Insyde | 5.6 (including) | 5.6.05.60.22 (excluding) |