{"id":"CVE-2026-73658","summary":"Trigger.dev: Cross-tenant object store read and write via URL path traversal","details":"Trigger.dev is a platform for building and deploying fully managed AI agents and workflows. From 4.4.2 until 4.5.0-rc.5, Aws4FetchClient.buildUrl() and Aws4FetchClient.presign() in apps/webapp/app/v3/objectStoreClient.server.ts assign user-controlled packet keys to URL.pathname, while apps/webapp/app/routes/api.v1.packets.$.ts accepts params[\"*\"] without rejecting dot segments and uses findResource: async () =\u003e 1 without per-resource ownership validation. WHATWG path normalization collapses .. segments before signing, allowing a caller with a valid environment API key to obtain presigned URLs for another tenant's object-store keys and read or overwrite task payloads. This issue is fixed in version 4.5.0-rc.5.","aliases":["GHSA-888c-px7m-736v"],"modified":"2026-08-16T03:30:54.650743092Z","published":"2026-08-13T21:16:59.110Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73658.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-20","CWE-22","CWE-862"]},"references":[{"type":"WEB","url":"https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.0-rc.5"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73658.json"},{"type":"ADVISORY","url":"https://github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-888c-px7m-736v"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-73658"},{"type":"FIX","url":"https://github.com/triggerdotdev/trigger.dev/commit/db4074df54db06b0656becf3f974345c90fa202e"},{"type":"FIX","url":"https://github.com/triggerdotdev/trigger.dev/pull/3830"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/triggerdotdev/trigger.dev","events":[{"introduced":"e36b75785e78e1bba6af71f47d0c9af54ce2d88b"},{"fixed":"db4074df54db06b0656becf3f974345c90fa202e"},{"fixed":"a730faadfe82679652e8438110500fbf7733bfbb"}],"database_specific":{"extracted_events":[{"introduced":"4.4.2"},{"fixed":"4.5.0-rc.5"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v4.5.0-rc.4","v.docker.4.5.0-rc.4","helm-v4.5.0-rc.4","v4.5.0-rc.3","v.docker.4.5.0-rc.3","helm-v4.5.0-rc.3","v4.5.0-rc.2","v.docker.4.5.0-rc.2","v4.5.0-rc.1","v.docker.4.5.0-rc.1","helm-v4.5.0-rc.1","v4.5.0-rc.0","v.docker.4.5.0-rc.0","helm-v4.5.0-rc.0","v4.4.6","v.docker.4.4.6","helm-v4.4.6","re2-test-uncaught-exception","re2-prod-uncaught-exception","helm-v4.4.5","v4.4.5","v.docker.4.4.5","build-ecr-default-policy.rc0","re2-test-supervisor-ndots-override","re2-prod-supervisor-ndots-override","helm-v4.4.4","v4.4.4","v.docker.4.4.4","re2-test-2026-04-08","re2-prod-2026-04-08","re2-test-private-link","v4.4.3","v.docker.4.4.3","v4.4.2","v.docker.4.4.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-73658.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N"}]}