Skip to content
OpenAdvisories
High · 7.1 CVE-2026-61687 EUVD-2026-83978GHSA-phg3-3g28-wq9vGO-2026-6535

hatchet - Unauthenticated OAuth state CSRF / login-CSRF via empty-state collision in ValidateOAuthState

Published Sep 21, 2026 · Updated Sep 21, 2026 · Assigned by GitHub_M

Description

Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.91.1, ValidateOAuthState clears the oauth_state_ session value to an empty string after a successful OAuth callback and later accepts an empty state parameter as equal, allowing an unauthenticated attacker to bind a victim's Hatchet session to an attacker-controlled OAuth identity. Exploitation requires the victim to have completed an OAuth flow in the current session and the deployment to enable auth.google.enabled, auth.github.enabled, or the Slack integration. This issue is fixed in version 0.91.1.

Affected products

VendorProductAffectedFixed
hatchet-dev hatchet < 0.91.1 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/hatchet-dev/hatchet < 0.91.1 0.91.1 GHSA-phg3-3g28-wq9v
Go github.com/hatchet-dev/hatchet < 0.91.2 0.91.2 GO-2026-6535

References