Vulnerability · Published Sep 21, 2026 · Assigned by GitHub_M
CVE-2026-88978Hatchet DurableTask WorkerStatus gRPC resolves caller-supplied durable-task UUIDs via ListSatisfiedEntries with no tenant_id filter
Medium 4.3
In plain English
A medium-severity authorization bypass via user-controlled key in hatchet from hatchet-dev. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 21% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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/durable_events.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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/hatchet-dev/hatchet | 0.106.1 | GHSA-992g-9cr3-vm5x |
| Go | github.com/hatchet-dev/hatchet | 0.106.1 | GO-2026-6560 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| hatchet-dev | hatchet | < 0.106.1 |
Weakness: CWE-639, CWE-863 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N