tpagectl update verifies checksums but not binary authenticity #623
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
thwap/thwap-pagesd#623
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
verifyChecksumininternal/tpagectl/update/update.gocompares the downloaded archive againsttarballs.sha256fetched from the same Forgejo releases API. This provides integrity against corruption/transport errors but not authenticity: a compromised Forgejo host, a taken-over release-publishing account, or a maliciousupdate.host/owner/repoconfig ships both the archive and its matching checksum, sotpagectl updatewould install an attacker-controlled binary (arbitrary code execution).Consider binary signing (e.g. minisign/cosign) with a pinned public key, or at minimum document the trust model ("releases and checksums from the configured Forgejo host are trusted").
See #622
Fixed in #634: the
updatecommand description documents the trust model explicitly — checksums provide integrity against corruption/transport errors, while authenticity relies on trusting the configured Forgejo host. Binary signing is out of scope until a signing key + infrastructure exist.