summaryrefslogtreecommitdiffstats
path: root/BaseTools/Conf/gitattributes
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2020-01-16 14:45:38 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-01-31 09:35:31 +0000
commit8b0932c19f31cbf9da26d3b8d4e8d954bdbb5269 (patch)
tree512a3fc85f183c5deb1b0af15847b5fa03db9f85 /BaseTools/Conf/gitattributes
parent6aa31db5ebebe18b55aa5359142223a03592416f (diff)
downloadedk2-8b0932c19f31cbf9da26d3b8d4e8d954bdbb5269.tar.gz
edk2-8b0932c19f31cbf9da26d3b8d4e8d954bdbb5269.tar.bz2
edk2-8b0932c19f31cbf9da26d3b8d4e8d954bdbb5269.zip
SecurityPkg/DxeImageVerificationHandler: fix "defer" vs. "deny" policies
In DxeImageVerificationHandler(), we should return EFI_SECURITY_VIOLATION for a rejected image only if the platform sets DEFER_EXECUTE_ON_SECURITY_VIOLATION as the policy for the image's source. Otherwise, EFI_ACCESS_DENIED must be returned. Right now, EFI_SECURITY_VIOLATION is returned for all rejected images, which is wrong -- it causes LoadImage() to hold on to rejected images (in untrusted state), for further platform actions. However, if a platform already set DENY_EXECUTE_ON_SECURITY_VIOLATION, the platform will not expect the rejected image to stick around in memory (regardless of its untrusted state). Therefore, adhere to the platform policy in the return value of the DxeImageVerificationHandler() function. Furthermore, according to "32.4.2 Image Execution Information Table" in the UEFI v2.8 spec, and considering that edk2 only supports (AuditMode==0) at the moment: > When AuditMode==0, if the image's signature is not found in the > authorized database, or is found in the forbidden database, the image > will not be started and instead, information about it will be placed in > this table. we have to store an EFI_IMAGE_EXECUTION_INFO record in both the "defer" case and the "deny" case. Thus, the AddImageExeInfo() call is not being made conditional on (Policy == DEFER_EXECUTE_ON_SECURITY_VIOLATION); the documentation is updated instead. Cc: Chao Zhang <chao.b.zhang@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2129 Fixes: 5db28a6753d307cdfb1cfdeb2f63739a9f959837 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20200116190705.18816-12-lersek@redhat.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> [lersek@redhat.com: push with Mike's R-b due to Chinese New Year Holiday: <https://edk2.groups.io/g/devel/message/53429>; msgid <d3fbb76dabed4e1987c512c328c82810@intel.com>]
Diffstat (limited to 'BaseTools/Conf/gitattributes')
0 files changed, 0 insertions, 0 deletions