audk/MdeModulePkg/Universal/Variable/RuntimeDxe
Star Zeng b7dc8888f3 MdeModulePkg Variable: Fix Timestamp zeroing issue on APPEND_WRITE
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=415

When SetVariable() to a time based auth variable with APPEND_WRITE
attribute, and if the EFI_VARIABLE_AUTHENTICATION_2.TimeStamp in
the input Data is earlier than current value, it will cause timestamp
zeroing.

This issue may bring time based auth variable downgrade problem.
For example:
A vendor released three certs at 2014, 2015, and 2016, and system
integrated the 2016 cert. User can SetVariable() with 2015 cert and
APPEND_WRITE attribute to cause timestamp zeroing first, then
SetVariable() with 2014 cert to downgrade the cert.

This patch fixes this issue.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2018-10-17 11:24:44 +08:00
..
LoadFenceDxe.c MdeModulePkg/Variable: [CVE-2017-5753] Fix bounds check bypass 2018-09-30 13:06:42 +08:00
LoadFenceSmm.c MdeModulePkg/Variable: [CVE-2017-5753] Fix bounds check bypass 2018-09-30 13:06:42 +08:00
Measurement.c MdeModulePkg/Variable/RuntimeDxe: move SecureBootHook() decl to new header 2017-10-10 11:25:04 +02:00
PrivilegePolymorphic.h MdeModulePkg/Variable: [CVE-2017-5753] Fix bounds check bypass 2018-09-30 13:06:42 +08:00
Reclaim.c
TcgMorLockDxe.c MdeModulePkg/Variable/RuntimeDxe: delete & lock MOR in the absence of SMM 2017-10-25 14:06:15 +02:00
TcgMorLockSmm.c MdeModulePkg: Variable: Re-prioritize TCG/TCG2 protocol 2018-07-23 08:36:03 +08:00
VarCheck.c
Variable.c MdeModulePkg Variable: Fix Timestamp zeroing issue on APPEND_WRITE 2018-10-17 11:24:44 +08:00
Variable.h MdeModulePkg/Variable/RuntimeDxe: introduce PcdMaxVolatileVariableSize 2018-03-30 21:17:07 +02:00
VariableDxe.c MdeModulePkg/Variable: Check EFI_MEMORY_RUNTIME attribute before setting it 2018-07-04 22:21:00 +08:00
VariableExLib.c
VariableRuntimeDxe.inf MdeModulePkg/Variable: [CVE-2017-5753] Fix bounds check bypass 2018-09-30 13:06:42 +08:00
VariableRuntimeDxe.uni
VariableRuntimeDxeExtra.uni MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
VariableSmm.c MdeModulePkg/Variable: [CVE-2017-5753] Fix bounds check bypass 2018-09-30 13:06:42 +08:00
VariableSmm.inf MdeModulePkg/Variable: [CVE-2017-5753] Fix bounds check bypass 2018-09-30 13:06:42 +08:00
VariableSmm.uni
VariableSmmExtra.uni MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00
VariableSmmRuntimeDxe.c MdeModulePkg/Variable/RuntimeDxe: move SecureBootHook() decl to new header 2017-10-10 11:25:04 +02:00
VariableSmmRuntimeDxe.inf MdeModulePkg/Variable/RuntimeDxe: move SecureBootHook() decl to new header 2017-10-10 11:25:04 +02:00
VariableSmmRuntimeDxe.uni
VariableSmmRuntimeDxeExtra.uni MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00