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 MdeModulePkg Variable: Consume the separated VarCheckLib 2015-08-25 03:01:56 +00:00
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 MdeModulePkg Variable: Read MonotonicCount by ReadUnaligned64() 2015-07-27 00:49:00 +00:00
VariableRuntimeDxe.inf MdeModulePkg/Variable: [CVE-2017-5753] Fix bounds check bypass 2018-09-30 13:06:42 +08:00
VariableRuntimeDxe.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
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 MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
VariableSmmRuntimeDxeExtra.uni MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00