Skip to content

SecurityPkg: Skip PCR4 measurement for FV applications#1843

Open
apop5 wants to merge 1 commit into
microsoft:release/202511from
apop5:personal/apop5/excludefvapps
Open

SecurityPkg: Skip PCR4 measurement for FV applications#1843
apop5 wants to merge 1 commit into
microsoft:release/202511from
apop5:personal/apop5/excludefvapps

Conversation

@apop5

@apop5 apop5 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Description

Update DxeTpm2MeasureBootLib to stop measuring EFI applications loaded from measured firmware volumes.

TCG PC Client Platform Firmware Profile Specification 1.06 r52 defines PCR[4] as Boot Manager Code and Boot Attempts. In 3.3.4.5, the required EV_EFI_BOOT_SERVICES_APPLICATION event is for the UEFI application code described by the Boot#### variable during a boot attempt.

Applications launched from measured firmware volumes are part of platform firmware execution, not a Boot#### boot-option handoff to boot manager code. The same spec separately treats platform firmware as part of the firmware trust chain measured outside the PCR[4] boot-attempt path, so skipping PCR[4] here is consistent with the spec's PCR role split.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

Tested Q35 boot, dumping tcg log.

Integration Instructions

This is a breaking change in that it be reflected in the PCR[4] measurements.
If an OS is bound to PCR[4], efi applications launched from Fvs will no longer show up in the log, and may trigger bitlocker recovery.

Update DxeTpm2MeasureBootLib to stop measuring EFI applications
loaded from measured firmware volumes.

TCG PC Client Platform Firmware Profile Specification 1.06 r52
defines PCR[4] as Boot Manager Code and Boot Attempts. In
3.3.4.5, the required EV_EFI_BOOT_SERVICES_APPLICATION event
is for the UEFI application code described by the Boot####
variable during a boot attempt.

Applications launched from measured firmware volumes are part
of platform firmware execution, not a Boot#### boot-option
handoff to boot manager code. The same spec separately treats
platform firmware as part of the firmware trust chain measured
outside the PCR[4] boot-attempt path, so skipping PCR[4] here
is consistent with the spec's PCR role split.
@mu-automation

mu-automation Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

❌ QEMU Validation Failed

Source Dependencies

Repository Commit
mu_basecore ebfe86d
mu_tiano_platforms 49baa9b

Results

Platform Target Build Boot Overall Boot Time Build Logs Boot Logs
Q35 DEBUG ❌ failure ⏩ skipped N/A Build Logs N/A
ArmVirt DEBUG ✅ success ✅ success 0m 13s Build Logs Boot Logs

Workflow run: https://github.com/microsoft/mu_basecore/actions/runs/28831147705

This comment was automatically generated by the Mu QEMU PR Validation workflow.

@apop5
apop5 requested a review from Flickdm July 6, 2026 23:42
@apop5

apop5 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

This should be considered a draft for review and commenting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants