Skip to content

fix(install): verify release checksum before extracting in install-cli.sh#880

Open
mcdgavin wants to merge 1 commit into
livekit:mainfrom
mcdgavin:fix/install-checksum-verify
Open

fix(install): verify release checksum before extracting in install-cli.sh#880
mcdgavin wants to merge 1 commit into
livekit:mainfrom
mcdgavin:fix/install-checksum-verify

Conversation

@mcdgavin

@mcdgavin mcdgavin commented Jun 17, 2026

Copy link
Copy Markdown

Summary

install-cli.sh piped the downloaded archive straight into tar with no integrity
check. This downloads the archive and the release's checksums.txt, verifies the
archive's SHA-256 against the published checksum (failing closed on a missing or
mismatched checksum), then extracts.

Scope / honest caveat

checksums.txt is fetched from the same release over HTTPS, so this guards against
corrupted/partial downloads and accidental mismatches — it is not a substitute for
signature verification against an out-of-band key. The stronger follow-up would be to
sign checksums.txt (e.g. cosign/sigstore via goreleaser) and verify the signature
here.
I'm happy to do that separately if you'd like to enable signing.

Test

Verified against the v2.16.6 release: the checksum parse + match succeeds on the real
archive, and a tampered archive is correctly rejected. bash -n passes. (The script is
Linux-only — it aborts on macOS — so it relies on sha256sum, with an added presence check.)

Fixes #647

Thanks to @xtreme-sameer-vohra for raising it.

…i.sh

The Linux install script piped the downloaded archive straight into tar with no
integrity check. Download the archive and the release's checksums.txt, verify the
archive's SHA-256 against the published checksum (failing closed on mismatch), then
extract. Guards against corrupted/partial downloads; not a substitute for signature
verification against an out-of-band key.

Fixes livekit#647
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.

CLI install script should validate checksum

1 participant