Skip to content

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

Merged
davidzhao merged 1 commit into
livekit:mainfrom
mcdgavin:fix/install-checksum-verify
Jul 8, 2026
Merged

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

Conversation

@mcdgavin

@mcdgavin mcdgavin commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

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

@davidzhao davidzhao left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@davidzhao davidzhao merged commit 0232fdb into livekit:main Jul 8, 2026
6 checks passed
@davidzhao

Copy link
Copy Markdown
Member

Thanks for the fix Gavin!

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

2 participants