Skip to content

OVMF built from untagged master branch commit #47

@pbeza

Description

@pbeza

The OVMF recipe in meta-dstack/recipes-core/ovmf/ pins to a specific commit on the master branch rather than a tagged release, so the firmware build pulls unreviewed development code and is not tied to any audited release.

Root Cause

The OVMF firmware is built from a pinned commit on the edk2 master branch, not from a tagged release:

# dstack-ovmf_git.bb:22
SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;..."

# dstack-ovmf_git.bb:31
SRCREV = "<pinned-commit-hash>"

While the commit hash is pinned (ensuring reproducibility), building from master rather than a tagged release (e.g., edk2-stable202408) means the firmware is based on code that:

  • May not have undergone release-level QA and security review
  • Could include incomplete features or experimental changes
  • Is not tracked in edk2's release security advisories

Attack Path

  1. The pinned master commit may contain bugs introduced after the last stable release that were later reverted or fixed before the next tagged release
  2. Conversely, the commit may include incomplete or experimental features that were removed before reaching stable
  3. dstack ships OVMF firmware with code that never underwent release-level QA
  4. Since the commit is not part of any tagged release, it's not tracked in edk2 security advisories
  5. Vulnerabilities go undetected by standard CVE monitoring (which tracks releases, not arbitrary commits)

Impact

The UEFI firmware running inside the CVM may contain unreviewed or unstable code. Security advisories for edk2 tagged releases may not apply to or cover bugs in the specific master commit used. This makes it harder to assess the firmware's security posture.

Suggested Fix

Pin to a tagged edk2 stable release:

SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=edk2-stable202408;..."
SRCREV = "<tagged-release-commit>"

Subscribe to edk2 security advisories and update to new stable releases when security fixes are published.


Note: This issue was created automatically. The vulnerability report was generated by Claude and has not been verified by a human.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions