Bug 1751993
| Summary: | DxeImageVerificationLib handles "DENY execute on security violation" like "DEFER execute on security violation" [rhel8] | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Laszlo Ersek <lersek> |
| Component: | edk2 | Assignee: | Laszlo Ersek <lersek> |
| Status: | CLOSED ERRATA | QA Contact: | Xueqiang Wei <xuwei> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | high | ||
| Version: | 8.1 | CC: | berrange, coli, kraxel, lersek, pbonzini, philmd, virt-bugs, xuwei |
| Target Milestone: | rc | Keywords: | Triaged |
| Target Release: | 8.2 | Flags: | knoel:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | edk2-20190829git37eef91017ad-7.el8 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1751990 | Environment: | |
| Last Closed: | 2020-04-28 16:02:22 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Laszlo Ersek
2019-09-13 12:06:29 UTC
Posted upstream: * [edk2-devel] [PATCH 00/11] SecurityPkg/DxeImageVerificationHandler: fix retval for "deny" policy https://edk2.groups.io/g/devel/message/53314 http://mid.mail-archive.com/20200116190705.18816-1-lersek@redhat.com Xueqiang Wei, please see "Steps to Reproduce" / "Actual results" / "Expected results" in comment#0. Can you please grant qa_ack+? Thank you. (In reply to Laszlo Ersek from comment #3) > Posted upstream: > * [edk2-devel] [PATCH 00/11] > SecurityPkg/DxeImageVerificationHandler: fix retval for "deny" policy > > https://edk2.groups.io/g/devel/message/53314 > http://mid.mail-archive.com/20200116190705.18816-1-lersek@redhat.com Merge in progress via <https://github.com/tianocore/edk2/pull/324>, but the GitHub.com PR seems to stuck (all checks have passed, twice, but the mergify bot is not merging the branch). (In reply to Laszlo Ersek from comment #5) > (In reply to Laszlo Ersek from comment #3) > > Posted upstream: > > * [edk2-devel] [PATCH 00/11] > > SecurityPkg/DxeImageVerificationHandler: fix retval for "deny" policy > > > > https://edk2.groups.io/g/devel/message/53314 > > http://mid.mail-archive.com/20200116190705.18816-1-lersek@redhat.com > > Merge in progress via <https://github.com/tianocore/edk2/pull/324>, > but the GitHub.com PR seems to stuck (all checks have passed, twice, > but the mergify bot is not merging the branch). Now merged (same PR), commit range 83357313dd67..8b0932c19f31: 1 1e0f973b65c3 SecurityPkg/DxeImageVerificationHandler: simplify "VerifyStatus" 2 eccb856f013a SecurityPkg/DxeImageVerificationHandler: remove "else" after return/break 3 61a9fa589a15 SecurityPkg/DxeImageVerificationHandler: keep PE/COFF info status internal 4 47650a5cab60 SecurityPkg/DxeImageVerificationHandler: narrow down PE/COFF hash status 5 f891b052c5ec SecurityPkg/DxeImageVerificationHandler: fix retval on memalloc failure 6 12a4ef58a8b1 SecurityPkg/DxeImageVerificationHandler: remove superfluous Status setting 7 c602e97446a8 SecurityPkg/DxeImageVerificationHandler: unnest AddImageExeInfo() call 8 fb02f5b2cd0b SecurityPkg/DxeImageVerificationHandler: eliminate "Status" variable 9 6d57592740cd SecurityPkg/DxeImageVerificationHandler: fix retval for (FileBuffer==NULL) 10 6aa31db5ebeb SecurityPkg/DxeImageVerificationHandler: fix imgexec info on memalloc fail 11 8b0932c19f31 SecurityPkg/DxeImageVerificationHandler: fix "defer" vs. "deny" policies According to comment#0, reproduced it on edk2-ovmf-20190829git37eef91017ad-6.el8.noarch. Retested on edk2-ovmf-20190829git37eef91017ad-7.el8.noarch, not hit this issue. So set status to VERIFIED. Details: Versions: kernel-4.18.0-175.el8.x86_64 qemu-kvm-4.2.0-7.module+el8.2.0+5520+4e5817f3 edk2-ovmf-20190829git37eef91017ad-7.el8.noarch Steps: 1. enable secure boot (using the "OVMF_VARS.secboot.fd" varstore template) # cp /usr/share/edk2/ovmf/OVMF_VARS.secboot.fd /home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2.fd 2. Attempt booting "UefiShell.iso". /usr/libexec/qemu-kvm \ -S \ -name 'avocado-vt-vm1' \ -sandbox on \ -machine q35 \ -nodefaults \ -device VGA,bus=pcie.0,addr=0x1 \ -m 15360 \ -smp 12,maxcpus=12,cores=6,threads=1,dies=1,sockets=2 \ -cpu 'Opteron_G5',+kvm_pv_unhalt \ -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/avocado_5pvzspmp/monitor-qmpmonitor1-20191217-033600-Mk8g6MnL,server,nowait \ -mon chardev=qmp_id_qmpmonitor1,mode=control \ -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/avocado_5pvzspmp/monitor-catch_monitor-20191217-033600-Mk8g6MnL,server,nowait \ -mon chardev=qmp_id_catch_monitor,mode=control \ -device pvpanic,ioport=0x505,id=idVmoeBy \ -chardev socket,nowait,path=/var/tmp/avocado_5pvzspmp/serial-serial0-20191217-033600-Mk8g6MnL,server,id=chardev_serial0 \ -device isa-serial,id=serial0,chardev=chardev_serial0 \ -chardev socket,id=seabioslog_id_20191217-033600-Mk8g6MnL,path=/var/tmp/avocado_5pvzspmp/seabios-20191217-033600-Mk8g6MnL,server,nowait \ -device isa-debugcon,chardev=seabioslog_id_20191217-033600-Mk8g6MnL,iobase=0x402 \ -device pcie-root-port,id=pcie.0-root-port-2,slot=2,chassis=2,addr=0x2,bus=pcie.0 \ -device qemu-xhci,id=usb1,bus=pcie.0-root-port-2,addr=0x0 \ -device pcie-root-port,id=pcie.0-root-port-3,slot=3,chassis=3,addr=0x3,bus=pcie.0 \ -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie.0-root-port-3,addr=0x0 \ -blockdev node-name=file_image1,driver=file,aio=threads,filename=/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2,cache.direct=on,cache.no-flush=off \ -blockdev node-name=drive_image1,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_image1 \ -device scsi-hd,id=image1,drive=drive_image1,write-cache=on \ -device pcie-root-port,id=pcie.0-root-port-4,slot=4,chassis=4,addr=0x4,bus=pcie.0 \ -device virtio-net-pci,mac=9a:e9:9e:b5:c8:76,id=idoQ7AuT,netdev=idXQ4Zp4,bus=pcie.0-root-port-4,addr=0x0 \ -netdev tap,id=idXQ4Zp4,vhost=on \ -blockdev node-name=file_uefishell,driver=file,read-only=on,aio=threads,filename=/home/kvm_autotest_root/images/UefiShell.iso,cache.direct=on,cache.no-flush=off \ -blockdev node-name=drive_uefishell,driver=raw,read-only=on,cache.direct=on,cache.no-flush=off,file=file_uefishell \ -device scsi-cd,id=uefishell,drive=drive_uefishell,bootindex=0,write-cache=on \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ -vnc :0 \ -rtc base=utc,clock=host,driftfix=slew \ -boot menu=off,order=cdn,once=c,strict=off \ -blockdev node-name=file_ovmf_code,driver=file,read-only=on,filename=/usr/share/OVMF/OVMF_CODE.secboot.fd \ -blockdev node-name=file_ovmf_vars,driver=file,filename=/home/kvm_autotest_root/images/rhel810-64-virtio-scsi.qcow2.fd \ -machine pflash0=file_ovmf_code,pflash1=file_ovmf_vars \ -enable-kvm \ -device pcie-root-port,id=pcie_extra_root_port_0,slot=5,chassis=5,addr=0x5,bus=pcie.0 \ -monitor stdio \ 3. Capture the UEFI console traffic on the serial port. # nc -U /var/tmp/avocado_5pvzspmp/serial-serial0-20191217-033600-Mk8g6MnL Tested with edk2-ovmf-20190829git37eef91017ad-6.el8.noarch, after step 3: BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Scsi(0x1,0x0) BdsDxe: failed to load Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Scsi(0x1,0x0): Security Violation Tested with edk2-ovmf-20190829git37eef91017ad-7.el8.noarch, after step 3: BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Scsi(0x1,0x0) BdsDxe: failed to load Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Scsi(0x1,0x0): Access Denied Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:1712 |