# CVE-2026-54746: Hatchet cross-tenant authorization bypass in Dispatcher gRPC

Source: https://junglewise.ai/threats/cve-2026-54746-hatchet-cross-tenant-authorization-bypass-in-dispatcher-grpc  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-28. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-54746 · Severity: medium · CVSS 6.4 · Published 2026-08-28

Hatchet is a workflow orchestration platform; its gRPC Dispatcher service is responsible for managing worker connections and job assignments across tenants. A missing authorization check allows any tenant with a valid API token to modify or disconnect workers belonging to other tenants on the same instance, disrupting job processing for competing teams or customers. This is particularly severe in Hatchet Cloud where multiple independent customers share infrastructure.

Technologies: [github.com/hatchet-dev/hatchet (Go)](https://junglewise.ai/threats/technologies/github-com-hatchet-dev-hatchet). Vendors: [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-54746 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-54746 being exploited in the wild.

**How severe is CVE-2026-54746?** Medium severity, with a CVSS score of 6.4, published 28 August 2026.

**Which products and versions are affected?** github.com/hatchet-dev/hatchet (Go) >= 0.40.0, < 0.91.2, SEMVER:introduced=0.40.0,fixed=0.91.2.

**Is there a fix for CVE-2026-54746?** Yes. github.com/hatchet-dev/hatchet (Go): upgrade to 0.91.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-54746 attacked?** It is attacked over the network, in a hosted service.

**Am I affected by CVE-2026-54746?** Check whether you run github.com/hatchet-dev/hatchet (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/hatchet-dev/hatchet (Go): upgrade to 0.91.2 or later

  ```sh
  go get github.com/hatchet-dev/hatchet@v0.91.2
  ```


## Technical details

The vulnerability is a missing authorization check (CWE-862) in two Dispatcher RPC methods: UpsertWorkerLabels and Unsubscribe. These methods accept a worker_id in the request body but fail to validate that the worker belongs to the caller's tenant, even though they read the caller's tenant from the bearer-token context. An attacker with any valid tenant-scoped API token (e.g., an OWNER token from a newly created tenant or a leaked CI token) can craft gRPC requests targeting worker UUIDs from other tenants. While UUID guessing is required, successful exploitation allows the attacker to overwrite worker affinity labels (causing job misrouting) or forcibly disconnect workers (causing denial of service). The vulnerability affects Hatchet versions 0.40.0 through 0.91.1 and is patched in 0.91.2.

## Affected products

- Hatchet Hatchet 0.40.0 to 0.91.1

## Identifiers

- CVE-2026-54746
- GHSA-8x7x-83cf-c3pg
- GO-2026-6309

## Timeline

- 2026-06-30: disclosed
- 2026-08-28: patched: Fixed in version 0.91.2

## References

- [https://api.github.com/users/sajdakabir](https://api.github.com/users/sajdakabir)
- [https://github.com/sajdakabir](https://github.com/sajdakabir)
- [https://api.github.com/users/sajdakabir/gists%7B/gist_id%7D](https://api.github.com/users/sajdakabir/gists%7B/gist_id%7D)
- [https://api.github.com/users/sajdakabir/repos](https://api.github.com/users/sajdakabir/repos)
- [https://avatars.githubusercontent.com/u/86569763?v=4](https://avatars.githubusercontent.com/u/86569763?v=4)
- [https://api.github.com/users/sajdakabir/events%7B/privacy%7D](https://api.github.com/users/sajdakabir/events%7B/privacy%7D)

## Related threats

- [Hatchet DurableTask WorkerStatus gRPC authorization bypass via unfiltered tenant_id](https://junglewise.ai/threats/cve-2026-88978-hatchet-durabletask-workerstatus-grpc-authorization-bypass-via)
- [Hatchet cross-tenant durable callback payload disclosure](https://junglewise.ai/threats/cve-2026-84298-hatchet-cross-tenant-durable-callback-payload-disclosure)
- [Hatchet authorization bypass in durable task event log endpoint](https://junglewise.ai/threats/cve-2026-63342-hatchet-authorization-bypass-in-durable-task-event-log-endpoint)
- [Hatchet OAuth state CSRF via empty-state collision](https://junglewise.ai/threats/cve-2026-61687-hatchet-oauth-state-csrf-via-empty-state-collision)
- [Hatchet SSRF in SNS UnsubscribeConfirmation handler](https://junglewise.ai/threats/cve-2026-61681-hatchet-ssrf-in-sns-unsubscribeconfirmation-handler)
