Skip to content

security: verify Windows release archive checksum/signature before extraction (install.ps1 + self-upgrade) #954

Description

@anandgupta42

Found during the v0.8.8 release review (CTO + Tech Lead, P2 deferred).

install.ps1 performs no SHA256/signature verification of the downloaded release archive before Expand-Archive; integrity relies entirely on HTTPS to github.com. The same gap applies to the Windows self-upgrade path (upgradePowershell does irm | iex of the same unverified script). A compromised release asset, a TLS-defeating MITM, or a release-pipeline mistake would be silently extracted and executed as altimate.exe.

This matches the existing bash-installer posture (the script comment is honest about it), so it is deferred — the real fix is release-side, then verify in both installers:

  1. Release workflow publishes a checksums.txt (ideally a cosign/minisign signature) per release asset.
  2. Both install.ps1 and the bash install verify the downloaded archive's SHA256 against it before extraction.

Deferred because it requires release-pipeline + signing design work, not an in-repo patch, and does not regress the already-shipping bash posture.

Activity

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

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