{"id":"GHSA-gxhx-2686-5h9g","aliases":["GO-2026-5410"],"title":"slack-go `SecretsVerifier` accepts empty signing secret without precondition","summary":"slack-go `SecretsVerifier` accepts empty signing secret without precondition","severity":"medium","vendor":"slack-go","product":"github.com/slack-go/slack","ecosystem":"go","affected":["github.com/slack-go/slack < 0.23.1"],"patched":["github.com/slack-go/slack 0.23.1"],"published":"2026-05-14","updated":"2026-07-07","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-gxhx-2686-5h9g","references":[{"url":"https://github.com/slack-go/slack/security/advisories/GHSA-gxhx-2686-5h9g"},{"url":"https://github.com/slack-go/slack/commit/34ad5c052e446f58505ae8d81a2a72821de107cc"},{"url":"https://github.com/slack-go/slack"},{"url":"https://github.com/slack-go/slack/releases/tag/v0.23.1"}],"tags":["osv","go"],"ingestedAt":"2026-07-09T18:56:36.550Z","slug":"GHSA-gxhx-2686-5h9g","body":"## Overview\n\n`SecretsVerifier` in slack-go/slack before v0.23.1 accepts an empty signing secret without error. If an application is misconfigured (e.g., an unset or empty `SLACK_SIGNING_SECRET`), `NewSecretsVerifier` builds an HMAC-SHA256 keyed with an empty string, allowing an unauthenticated attacker to forge a valid `X-Slack-Signature` and bypass Slack request authentication. Fixed in v0.23.1, which rejects empty secrets with `ErrInvalidConfiguration`. This is patched in version 0.23.1.\n\n## Affected packages\n\n- `github.com/slack-go/slack < 0.23.1`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `github.com/slack-go/slack 0.23.1`","depth":"sunlit","depthScore":28,"depthScoreParts":{"impact":27.5,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}