Executive brief
Hatchet is a workflow orchestration platform that integrates with AWS SNS for event processing. An attacker with valid Hatchet and AWS credentials can inject a malicious URL into SNS unsubscribe messages, causing the Hatchet server to make unauthorized HTTP requests to internal services—including cloud metadata endpoints that expose IAM credentials, internal APIs, and other non-public infrastructure.
Technical details
The SNS UnsubscribeConfirmation handler in internal/integrations/ingestors/sns/sns.go performs an unvalidated HTTP GET request to payload.UnsubscribeURL without any URL filtering. The UnsubscribeURL field is intentionally excluded from the AWS signature validation (BuildSignature() function), allowing an attacker to replace it with an arbitrary URL while the rest of the message remains cryptographically signed and valid. An authenticated attacker with an AWS account can craft a malicious SNS message and trigger SSRF, enabling access to EC2 Instance Metadata Service (IMDS) at 169.254.169.254, internal Kubernetes APIs, dashboards, and internal HTTP services. The vulnerability requires an attacker to have a valid Hatchet account and AWS Free Tier account. A fix was released in version 0.91.1.
Affected products
- Hatchet Hatchet < 0.91.1
Timeline
- 2026-06-30: disclosed: Published to GitHub Advisory Database
- 2026-06-30: patched: Fix released in version 0.91.1
- 2026-09-21: advisory: Published by National Vulnerability Database
- 2026-09-22: other: GitHub Advisory reviewed and updated