{"id":"GHSA-8x7x-83cf-c3pg","summary":"Hatchet allows cross-tenant write/DoS to other tenants' workers via Dispatcher gRPC UpsertWorkerLabels and Unsubscribe","details":"### Summary\n\nA **cross-tenant write / DoS** vulnerability in the Hatchet `Dispatcher` gRPC service allows any holder of a normal tenant-scoped API token (the lowest credential Hatchet issues — an `OWNER` of a brand-new tenant) to overwrite the affinity labels of, or disconnect from the dispatcher, any worker UUID belonging to any other tenant on the same Hatchet instance. The two affected RPCs — `Dispatcher/UpsertWorkerLabels` and `Dispatcher/Unsubscribe` — read the caller's tenant from the bearer-token context only for analytics and response shaping, and never use it to authorise the `worker_id` from the request body.\n\n\n### Impact\nThis CVE requires the attacker to successfully guess the target UUID. \n**Who is impacted.** Any Hatchet deployment that hosts more than one tenant on the same instance:\n- **Hatchet Cloud (multi-tenant SaaS)** — every tenant is exposed to every other tenant.\n- **Self-hosted Hatchet with multiple internal teams / business units sharing one instance** — each team is exposed to every other team on the box.\n- **Any deployment where a single tenant's API token can be obtained by an attacker** (e.g. a leaked low-privilege CI token from a single tenant). One token is enough to attack every other tenant on the same instance.\n\nSingle-tenant self-hosted deployments are unaffected in practice (the \"victim\" and \"attacker\" tenants would be the same).","aliases":["CVE-2026-54746","GO-2026-6309"],"modified":"2026-09-02T19:41:06.995743975Z","published":"2026-08-28T16:08:58Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2026-08-28T16:08:58Z","nvd_published_at":null,"cwe_ids":["CWE-639","CWE-862"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/hatchet-dev/hatchet/security/advisories/GHSA-8x7x-83cf-c3pg"},{"type":"WEB","url":"https://github.com/hatchet-dev/hatchet/commit/591a30deb8b80f02eba7014997de387d710986c9"},{"type":"PACKAGE","url":"https://github.com/hatchet-dev/hatchet"}],"affected":[{"package":{"name":"github.com/hatchet-dev/hatchet","ecosystem":"Go","purl":"pkg:golang/github.com/hatchet-dev/hatchet"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.40.0"},{"fixed":"0.91.2"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-8x7x-83cf-c3pg/GHSA-8x7x-83cf-c3pg.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:L"}]}