Skip to content

v2.187.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 20:26
· 32 commits to main since this release

Fixed — five more webhook/verify secrets were stored in plaintext

deploy_configs.webhook_secret, git_deploys.webhook_secret,
extensions.webhook_secret, whmcs_config.webhook_secret, and
webhook_endpoints.verify_secret were plain columns, the sibling gap to
v2.186.0's notification-secrets fix — flagged in the same audit and
deferred to this release.

Fixed the same way: encrypted at rest with secrets_crypto::encrypt_credential
and decrypted on every read path that needs the plaintext (HMAC signing for
extensions.webhook_secret and webhook_endpoints.verify_secret; a
constant-time compare for the other three). Three of the five columns
(deploy_configs.webhook_secret, git_deploys.webhook_secret,
webhook_endpoints.verify_secret) were sized for the plaintext only —
base64(nonce + ciphertext + tag) is longer than what it wraps, so encrypting
in place without first widening them to TEXT would have overflowed the
column and failed every write. credential_reencrypt.rs's re-key sweep now
covers all five.

deploy_configs.webhook_secret and git_deploys.webhook_secret are
displayed to the operator on every page load (the git-host webhook URL to
paste into GitHub/GitLab), not shown once at creation — so both decrypt on
every read path (list, get, create) rather than following the
show-once-then-mask pattern used elsewhere in this codebase.


Install: curl -sL dockpanel.dev/install.sh | bash

Every release is installed on a throwaway VPS and driven as a user before
it ships. What that means, and what it has found, is written up at
https://docs.dockpanel.dev/testing.html.

Binaries are static musl builds signed with Sigstore; checksums.txt
and the .sig/.pem pairs are attached below.

Full changelog: v2.186.0...v2.187.0