CVE-2026-88978: Hatchet DurableTask WorkerStatus gRPC resolves caller-supplied durable-task UUIDs via ListSatisfiedEntries with no tenant_id filter

Published Sep 21, 2026
·
Updated

Cross-tenant disclosure risk on DurableTask bidi RPC

This is a low-severity, low-risk cross-tenant data exposure vuln caused by blindly accepting a durable task id, in addition to a list of node and branch ids that identify records in that task's event log, and returning them to the caller via the handleWorkerStatus polling path.

Impact

This advisory requires an attacker to successfully guess a durable task's external uuid belonging to another tenant. External ids are generated uuid v4s (uuid.New() in Go), so exploitation requires prior knowledge of a target task UUID through an out-of-band channel. Thus, while the following environments are impacted, there is an extremely low probability it would be exploited.

Who is impacted. Any Hatchet deployment that hosts more than one tenant on the same instance:

Hatchet Cloud (multi-tenant SaaS) Self-hosted Hatchet with multiple internal teams / business units sharing one instance Any deployment where a single tenant's API token can be obtained by an attacker

Single-tenant self-hosted deployments are unaffected in practice (the "victim" and "attacker" tenants would be the same).

Other sources

Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.106.1, the WorkerStatus gRPC polling path in pkg/repository/durableevents.go passes caller-supplied durable task, node, and branch identifiers to ListSatisfiedEntries without a tenant filter, allowing an authenticated tenant worker that knows another tenant's durable-task UUID to retrieve matching durable event-log records. The UUIDv4 requirement makes exploitation unlikely, and single-tenant deployments are unaffected in practice. This issue is fixed in version 0.106.1.

— NVD

Affected Software

2 affected componentsFixes available
Hatchet Hatchet<0.106.1
go/github.com/hatchet-dev/hatchet<0.106.1
0.106.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/hatchet-dev/hatchet to a version that resolves this vulnerability.

    Fixed in 0.106.1
  2. Upgrade

    Upgrade Hatchet to a version that resolves this vulnerability.

    Fixed in 0.106.1

Event History

Sep 21, 2026
CVE Published
via MITRE·03:49 PM
Data Sourced
via MITRE·03:49 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:17 PM
DescriptionSeverityWeakness
Sep 22, 2026
Advisory Published
via GitHub·08:40 PM
Data Sourced
via GitHub·08:40 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are meaningfully exposed?

Multi-tenant Hatchet deployments are exposed if authenticated tenant workers can reach the WorkerStatus gRPC polling path. Single-tenant deployments are unaffected in practice.

2

What does an attacker need to exploit this issue?

The attacker needs authentication as a tenant worker and knowledge of another tenant's durable-task UUID. The affected lookup also accepts durable task, node, and branch identifiers, and successful exploitation can return matching durable event-log records.

3

How likely is exploitation?

Exploitation is considered unlikely because the targeted durable-task UUID must be a UUIDv4. The issue has low confidentiality impact and no stated integrity or availability impact.

4

What version fixes the issue?

Upgrade Hatchet to version 0.106.1 or later. The fix ensures the affected durable-event lookup is scoped with a tenant filter.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203