---
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'
---

## Overview

`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.

## Affected packages

- `github.com/slack-go/slack < 0.23.1`

## Remediation

Upgrade to a patched release:

- `github.com/slack-go/slack 0.23.1`
