Read the docs

Slack Morphism error logs expose valid request signatures

Priority MEDIUM 57CWE-532Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
High
Impact type
Information disclosure
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-532.

Summary

The slack-morphism crate from 1.0.0 before 2.28.0 writes the correct Slack request signature to logs when signature verification fails. Its error type stores the valid HMAC, and its Debug and Display output and the default Axum listener error handler expose it (CWE-532). An attacker who can reach the Slack callback endpoint and read application logs can obtain valid signatures for chosen requests and replay them to bypass verification without the signing secret.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

Slack Morphism is a client library for Slack Web/Events API/Socket Mode and Block Kit. Versions 1.0.0 through 2.27.0 expose 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. Version 2.28.0 patches the issue.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00431 37th percentileScored 2026-11-07
Fix Fixed slack-morphism-rust (abdolence): 2.28.0slack-morphism (crates.io): 2.28.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
abdolenceslack-morphism-rust1.0.0 to before 2.28.02.28.0Patch availableCNA
—slack-morphism (crates.io)1.0.0 to before 2.28.02.28.0Patch availableGHSA-26w4-8w32-4x3v
  • slack-morphism-rust Vendorabdolence Affected 1.0.0 to before 2.28.0 Fixed in 2.28.0 Patch available CNA
  • slack-morphism (crates.io) Vendor— Affected 1.0.0 to before 2.28.0 Fixed in 2.28.0 Patch available GHSA-26w4-8w32-4x3v

Remediation

Upgrade slack-morphism and slack-morphism-rust to version 2.28.0, which fixes the issue.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA slack-morphism-rust (abdolence) Fixed in 2.28.0
  • Fix · GHSA-26w4-8w32-4x3v slack-morphism (crates.io) Fixed in 2.28.0 Advisory →

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-21 Threatist record created from CVE-2026-113799
  2. 2026-10-21 Alias added: GHSA-26w4-8w32-4x3v
  3. 2026-10-21 Fix available: crates.io/[email protected] · GHSA-26w4-8w32-4x3v
  4. 2026-10-21 CVSS score added · GHSA-26w4-8w32-4x3v
  5. 2026-10-21 Weakness changed · GHSA-26w4-8w32-4x3v
  6. 2026-10-21 5 new references · GHSA-26w4-8w32-4x3v
  7. 2026-10-30 CISA SSVC decision points changed
  8. 2026-10-30 Priority changed: LOW → MEDIUM
  9. 2026-11-06 Affected versions changed · Red Hat
  10. 2026-11-06 CVSS score added · Red Hat

References

Sources