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.

Severity (CVSS 3.1)4.3Medium
Exploit odds (30 days)0.3%top 79.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

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

EcosystemPackageFixed inAdvisory
Gogithub.com/hatchet-dev/hatchet0.106.1GHSA-992g-9cr3-vm5x
Gogithub.com/hatchet-dev/hatchet0.106.1GO-2026-6560

Affected products (as reported)

VendorProductVersions
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

References