Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid project API key
-
DeliveryEnumerate or guess target org's projectRef and env slug
-
ExploitCraft .. traversal filename targeting cross-tenant prefix
-
ExecutionSend presign request to /api/v1/packets/* or /api/v2/packets/*
-
PersistReceive presigned object-store URL for target tenant's data
-
ImpactRead or overwrite cross-tenant task payloads and outputs
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three concurrent conditions: (1) the attacker possesses a valid project API key for any project on the target instance - the attacker must be a registered project member or hold a leaked/stolen key; (2) the Trigger.dev instance is self-hosted and configured for multiple organizations - single-organization deployments and the Trigger.dev managed cloud are not subject to cross-tenant data exposure; (3) the attacker has knowledge of or can enumerate the target organization's projectRef identifier and environment slug to construct a valid traversal path. Exploitation is bounded by the PR:L authentication requirement (no unauthenticated access), the multi-org self-hosted deployment topology, and the need to know valid cross-tenant identifiers. Admin access is not required - any project-scoped API key suffices. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N scores 8.1. Attack complexity is Low because no race conditions or advanced knowledge are required beyond a valid project API key and awareness of the object-store key naming scheme. PR:L reflects the mandatory project API key - the vulnerability is not unauthenticated. High confidentiality and integrity impacts reflect the ability to read and overwrite cross-tenant task data. EPSS data is absent from the provided intelligence and cannot be assessed. No CISA KEV listing exists, and no public exploit or POC has been identified - exploitation status is unconfirmed in the wild. A significant real-world risk boundary: the cross-tenant impact applies only to multi-organization self-hosted deployments; single-organization self-hosted instances and the Trigger.dev managed cloud service are not exposed to cross-tenant data leakage, which meaningfully narrows the affected population compared to what the raw CVSS score implies. Organizations running self-hosted multi-tenant instances should treat this as a genuine high-priority finding. |
| Exploit ScenarioDerived | An attacker holding a valid project API key for Organization A on a multi-organization self-hosted Trigger.dev instance (versions 4.4.2-4.4.x) sends a presign GET or POST request to /api/v1/packets/../../<orgB-projectRef>/<orgB-env>/sensitive-output, where the .. segments navigate out of Organization A's object-store prefix into Organization B's namespace. The server returns a presigned URL granting direct read or write access to Organization B's offloaded task payload in the underlying object store. No public POC has been identified, but the fix diff in PR #3830 makes the traversal mechanism transparent to any reader. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
Path traversal in Trigger.dev's packet presign API routes (versions 4.4.2 through 4.4.x) allows a holder of any valid project API key to escape the intended packets/<projectRef>/<env>/ object-store prefix by injecting .. sequences into the caller-controlled filename parameter. On multi-organization self-hosted deployments, this enables cross-tenant reads and overwrites of offloaded task payloads and outputs. No public exploit code or CISA KEV listing exists at time of analysis; the CVSS 8.1 (High) rating reflects high confidentiality and integrity impact reachable by any authenticated project member without elevated privileges.
RemediationAI
The vendor-released patch is Trigger.dev version 4.5.0, available at https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.0. Operators of self-hosted multi-organization instances should upgrade immediately. The fix in PR #3830 (commit db4074df54db06b0656becf3f974345c90fa202e) introduces multi-layer path validation in objectStore.server.ts: raw segment checks blocking empty segments, dot, double-dot, backslash, and URL-encoded traversal characters via assertRawPacketRelativePathSegments; URL-based normalization via normalizePacketRelativePath using the browser URL API to canonicalize paths; and a post-construction prefix assertion via assertPacketObjectStoreKeyUnderPrefix that verifies the final key remains within packets/<projectRef>/<env>/. For operators unable to upgrade immediately, a partial compensating control is to restrict network access to the /api/v1/packets/* and /api/v2/packets/* endpoints to trusted internal networks only - this reduces the attack surface but does not eliminate the traversal flaw and carries the trade-off of breaking legitimate remote task worker connectivity if workers are not on the trusted network.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Trigger.dev is an open-source TypeScript platform for building and running background AI workflow jobs. The vulnerability resides in the Remix route handlers apps/webapp/app/routes/api.v1.packets.$.ts and api.v2.packets.$.ts, which accept a caller-supplied wildcard filename segment and pass it unsanitized through resolveStoreProtocolForPacketPresign into generatePresignedUrl and generatePresignedRequest in apps/webapp/app/v3/objectStore.server.ts. The object-store key is assembled as packets/<projectRef>/<env>/<filename> using simple string concatenation, with no path normalization or containment assertion prior to the fix. Because the filename is caller-controlled and no .. canonicalization was performed, a crafted filename such as ../../orgB-projectRef/env/secret could resolve to a key outside the caller's project prefix - reaching another tenant's data in the shared object store (e.g., S3 or S3-compatible). CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) precisely captures the root cause: user-controlled path components are concatenated into an object-store key without ensuring the final key stays within the intended directory boundary. The CPE is cpe:2.3:a:triggerdotdev:trigger.dev:*:*:*:*:*:*:*:*.
Know when Trigger Dev gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Network-accessible presign endpoint requires a project API key (PR:L); .. traversal is straightforward (AC:L); cross-tenant read and write achieved with no availability impact (C:H/I:H/A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Trigger.dev is the open-source platform for building AI workflows in TypeScript. From 4.4.2 until 4.5.0, the packet presign routes in apps/webapp/app/routes/api.v1.packets.$.ts pass a caller-controlled filename through resolveStoreProtocolForPacketPresign to generatePresignedUrl and generatePresignedRequest in apps/webapp/app/v3/objectStore.server.ts, allowing .. traversal to escape the packets/<projectRef>/<env>/ object-store prefix and enabling a project API key to read or overwrite another organization's offloaded task payloads and outputs on multi-organization self-hosted instances. This issue is fixed in version 4.5.0.
Executive ViewAI
Trigger.dev 4.4.2-4.4.x contains a path traversal vulnerability in the presign API affecting authenticated users with project API keys. No public exploit identified at time of analysis. On multi-organization self-hosted deployments, this vulnerability enables unauthorized cross-tenant access to read and modify task payloads without elevated privileges, creating significant confidentiality and integrity risk for business-critical task data.
Restrict presign API key permissions to minimum necessary scope per project; implement network segmentation between tenant object stores; enable audit logging and alerting for path traversal patterns in filename parameters; disable presign API if not operationally required; conduct immediate access log review for cross-tenant data access indicators.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
More in Trigger Dev
View allPrototype pollution in Trigger.dev's run metadata API (versions 3.3.8 through 4.5.5) lets any authenticated tenant corru
Cross-tenant authorization bypass in Trigger.dev before 4.5.6 lets a caller holding a valid API key for one project act
Missing authorization on the run replay API endpoint in Trigger.dev before 4.5.2 allows authenticated attackers to injec
Cross-tenant path traversal in Trigger.dev versions 4.4.2 through pre-4.5.0-rc.5 allows any authenticated tenant holding
Account takeover in Trigger.dev before 4.5.2 allows an unauthenticated remote attacker to hijack any existing user accou
Trigger.dev before 4.6.0 allows an authenticated low-privilege user to bind an arbitrary GitHub App installation to thei
Server-side request forgery in Trigger.dev before 4.5.2 allows authenticated organization members to register webhook al
Cross-tenant run replay in Trigger.dev 4.4.2-4.5.0-rc.3 allows any authenticated API key holder to replay task runs belo
EUVD-2026-58482
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB