Description
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 () => 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.
References5
- github.com/triggerdotdev/trigger.dev/commit/db4074df54db06b0656…
- github.com/triggerdotdev/trigger.dev/pull/3830
- github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.0-rc.5
- github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-8…
- github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-8…
Metrics
- CVSS 3.1
-
8.2
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N - EPSS — exploit probability
- 0% percentile: 36 · as of 12 November 2026
- CWE
- CWE-20CWE-22CWE-862
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.