{"id":"CVE-2026-63342","aliases":["EUVD-2026-83977","GHSA-g26x-m427-f48f","GO-2026-6567"],"status":"published","title":"Hatchet: Cross-Tenant Durable Task Event Log Disclosure via Missing Authorization Check","description":"Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.91.1, api-contracts/openapi/paths/v1/workflow-runs/workflow_run.yaml defines the GET /api/v1/stable/durable-tasks/{durable-task} endpoint implemented by listDurableEventLog without requiring the target tenant as a parent resource, allowing an authenticated user who obtains another tenant's durable task UUID to read that task's event log. Disclosed data can include task display names, workflow identifiers, user messages, wait conditions, branching logic, and timing information. This issue is fixed in version 0.91.1.","severity":{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00314,"percentile":0.24705,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-863"],"published":"2026-09-21T15:44:07Z","modified":"2026-10-28T02:31:14Z","fixes":[{"ecosystem":"Go","package":"github.com/hatchet-dev/hatchet","fixed_in":["0.91.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/hatchet-dev/hatchet","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.91.1"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/hatchet-dev/hatchet","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.91.1"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/hatchet-dev/hatchet","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.91.1"}]}]}],"products":[{"vendor":"hatchet-dev","product":"hatchet"}],"references":[{"url":"https://github.com/hatchet-dev/hatchet/security/advisories/GHSA-g26x-m427-f48f","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/hatchet-dev/hatchet/commit/06c1fe43543e853ea98ecc2e6a575e2b8310bbeb","tags":["x_refsource_MISC","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-63342","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-g26x-m427-f48f"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63342.json","tags":["advisory"]},{"url":"https://github.com/hatchet-dev/hatchet","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-63342","title":"Hatchet: Cross-Tenant Durable Task Event Log Disclosure via Missing Authorization Check","description":"Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.91.1, api-contracts/openapi/paths/v1/workflow-runs/workflow_run.yaml defines the GET /api/v1/stable/durable-tasks/{durable-task} endpoint implemented by listDurableEventLog without requiring the target tenant as a parent resource, allowing an authenticated user who obtains another tenant's durable task UUID to read that task's event log. Disclosed data can include task display names, workflow identifiers, user messages, wait conditions, branching logic, and timing information. This issue is fixed in version 0.91.1.","status":"published","published":"2026-09-21T15:44:07.494Z","modified":"2026-09-29T15:02:14.543Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:19:55.914391Z"}],"euvd":[{"id":"EUVD-2026-83977","description":"Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.91.1, api-contracts/openapi/paths/v1/workflow-runs/workflow_run.yaml defines the GET /api/v1/stable/durable-tasks/{durable-task} endpoint implemented by listDurableEventLog without requiring the target tenant as a parent resource, allowing an authenticated user who obtains another tenant's durable task UUID to read that task's event log. Disclosed data can include task display names, workflow identifiers, user messages, wait conditions, branching logic, and timing information. This issue is fixed in version 0.91.1.","status":"published","published":"2026-09-21T15:44:07Z","modified":"2026-09-29T15:02:14Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T17:27:52.331616Z"}],"ghsa":[{"id":"GHSA-g26x-m427-f48f","title":"Hatchet: Cross-Tenant Durable Task Event Log Disclosure via Missing Authorization Check","description":"### Summary\n\nThe `GET /api/v1/stable/durable-tasks/{durable-task}` endpoint (`listDurableEventLog`) is missing tenant authorization validation, allowing any authenticated user to read durable task event logs from any tenant.\n\n\n### Impact\nThis CVE requires the attacker to successfully guess the target UUID.\nAny authenticated Hatchet user can read durable task event logs from any other tenant, exposing:\n- Task display names and workflow identifiers\n- User messages (may contain sensitive business data)\n- Wait conditions and branching logic\n- Timing information","status":"published","published":"2026-09-22T20:34:14Z","modified":"2026-09-22T20:34:16Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:41:19.455935Z"}],"nvd":[{"id":"CVE-2026-63342","description":"Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.91.1, api-contracts/openapi/paths/v1/workflow-runs/workflow_run.yaml defines the GET /api/v1/stable/durable-tasks/{durable-task} endpoint implemented by listDurableEventLog without requiring the target tenant as a parent resource, allowing an authenticated user who obtains another tenant's durable task UUID to read that task's event log. Disclosed data can include task display names, workflow identifiers, user messages, wait conditions, branching logic, and timing information. This issue is fixed in version 0.91.1.","status":"published","published":"2026-09-21T16:17:10.737Z","modified":"2026-09-29T15:17:27.303Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:12:50.368368Z"}],"osv":[{"id":"CVE-2026-63342","title":"Hatchet: Cross-Tenant Durable Task Event Log Disclosure via Missing Authorization Check","description":"Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.91.1, api-contracts/openapi/paths/v1/workflow-runs/workflow_run.yaml defines the GET /api/v1/stable/durable-tasks/{durable-task} endpoint implemented by listDurableEventLog without requiring the target tenant as a parent resource, allowing an authenticated user who obtains another tenant's durable task UUID to read that task's event log. Disclosed data can include task display names, workflow identifiers, user messages, wait conditions, branching logic, and timing information. This issue is fixed in version 0.91.1.","status":"published","published":"2026-09-21T15:44:07.494Z","modified":"2026-10-28T02:31:14.420780311Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T15:45:13.306117Z"},{"id":"GHSA-g26x-m427-f48f","title":"Hatchet: Cross-Tenant Durable Task Event Log Disclosure via Missing Authorization Check","description":"### Summary\n\nThe `GET /api/v1/stable/durable-tasks/{durable-task}` endpoint (`listDurableEventLog`) is missing tenant authorization validation, allowing any authenticated user to read durable task event logs from any tenant.\n\n\n### Impact\nThis CVE requires the attacker to successfully guess the target UUID.\nAny authenticated Hatchet user can read durable task event logs from any other tenant, exposing:\n- Task display names and workflow identifiers\n- User messages (may contain sensitive business data)\n- Wait conditions and branching logic\n- Timing information","status":"published","published":"2026-09-22T20:34:14Z","modified":"2026-10-01T20:56:00.191196746Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T15:46:47.119724Z"},{"id":"GO-2026-6567","title":"Hatchet: Cross-Tenant Durable Task Event Log Disclosure via Missing Authorization Check in github.com/hatchet-dev/hatchet","description":"Hatchet: Cross-Tenant Durable Task Event Log Disclosure via Missing Authorization Check in github.com/hatchet-dev/hatchet","status":"published","published":"2026-10-01T20:23:38Z","modified":"2026-10-01T20:45:13.171855021Z","updated_at":"2026-11-02T15:47:03.11707Z"}]}}
