Only execute the time time check if the EFI_VARIABLE_APPEND_WRITE bit is
clear. For append-write updates the timestamp verification is not
needed.
See uefi spec, section "8.2.6 Using the EFI_VARIABLE_AUTHENTICATION_2
descriptor"
Fixes: db1ecfb473ac ("hw/uefi: add var-service-vars.c")
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-ID: <
20251104102714.733078-1-kraxel@redhat.com>
goto rollback;
}
if (old_var && new_var) {
- if (uefi_time_compare(&old_var->time, &new_var->time) > 0) {
+ if ((va->attributes & EFI_VARIABLE_APPEND_WRITE) == 0 &&
+ uefi_time_compare(&old_var->time, &new_var->time) > 0) {
trace_uefi_vars_security_violation("time check failed");
mvar->status = EFI_SECURITY_VIOLATION;
goto rollback;