MEDIUMCVSS v3.1 5.3Vulnerability

CVE-2026-113799

### Summary Slack Morphism exposes the correct Slack request HMAC when signature verification fails. For an invalid request, `slack-morphism` computes the correct signature for the attacker-controlled timestamp and request body and stores it in `SlackEventWrongSignatureError.generated_hash`. The error's `Debug` and `Display` representations expose that value, and the default Axum listener error handler logs it at error level. An attacker who can both reach the application's Slack callback endpoint and read its application/service logs can therefore use the verifier as a chosen-message HMAC oracle. The attacker can send an arbitrary request with an invalid signature, recover the correct signature from the resulting log entry, and resend the same request within the five-minute freshness window. The second request passes Slack Morphism's signature verification and reaches the protected application callback without the attacker knowing the Slack signing secret. I reproduced this end-to-end against both the Axum and Hyper integrations in `slack-morphism` 2.26.0 and 2.27.0. ### Details The vulnerability is in Slack Morphism's request signature verification error path. In `src/signature_verifier.rs`, `SlackEventSignatureVerifier::verify` computes the expected signature before comparing it with the untrusted `X-Slack-Signature` supplied by the request. On a mismatch, the implementation creates a `SlackEventWrongSignatureError` containing the complete correct signature in its public `generated_hash` field. Relevant source path: ```text src/signature_verifier.rs:46-59 ``` The error type is defined around: ```text src/signature_verifier.rs:182-199 ``` `generated_hash` is a public `String`; the type derives `Debug`, and its `Display` implementation also prints the generated signature. The resulting source-to-sink path is: 1. `SlackEventSignatureVerifier::verify` computes the expected HMAC for the attacker-controlled timestamp and raw request body. 2. Signature ve

Properties

Severity
medium
Summary
Slack Morphism verifier errors disclose valid HMACs in the logs
Nvd fetched at
2026-10-22T22:14:18.200859+00:00
Epss score
0.00384
Cvss score
5.3
Cvss severity
MEDIUM
Retrieved at
2026-10-22T22:17:33+00:00
Ghsa published
2026-10-21T16:38:47Z
Source url
https://github.com/advisories/GHSA-26w4-8w32-4x3v
Ghsa updated
2026-10-21T16:38:48Z
Ghsa id
GHSA-26w4-8w32-4x3v
Last source
FIRST EPSS
Score
5.3
Cvss version
3.1
Cve id
CVE-2026-113799
Cvss vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
First seen by Signal
2026-10-21T17:40:10+00:00
Is ghsa only
false
Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
Published at
2026-10-21T17:18:25.123

Related Entities (3)

AFFECTS (1)

→[Software]rust/slack-morphism

VULNERABLE_TO (1)

←[Software]rust/slack-morphism

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-113799 (CVSS v3.1 5.3) — Ninja Signal Threat Intelligence | Ninja Signal