Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain valid API key for own project
-
DeliveryAcquire victim deployment friendlyId
-
ExploitPOST to background-workers with victim ID
-
InstallLink attacker-owned worker to victim deployment
-
C2Force deployment BUILDING
-
ExecuteDEPLOYING
-
ImpactCompromise victim deployment integrity
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires a valid Trigger.dev API key for any project (PR:L) - this is authenticated per the CVSS vector, not anonymous. The attacker must know or guess the victim deployment's friendlyId, and the target deployment must be in a state where linking a background worker and transitioning BUILDING→DEPLOYING is meaningful. No user interaction is needed (UI:N) and the request is fully network-remote (AV:N) against the /api/v1/deployments/:deploymentId/background-workers endpoint. Limiting factors: exploitation is bounded by possession of a valid API key and by knowledge of a victim's deployment identifier; it does not work against fully unauthenticated callers, and it is only impactful on affected versions prior to the fix. |
| Impact | The signals are mostly consistent toward high priority: the vendor-supplied vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H yields 9.9, reflecting a network-reachable, low-complexity attack that needs only low privileges (any valid API key) and crosses a tenant boundary (scope change). Attaching an attacker-owned worker to a victim deployment and advancing its lifecycle is a genuine integrity and potentially availability/code-execution concern for the victim project, so operators - from large SaaS tenants down to a mid-sized team self-hosting a single instance - should treat this as urgent. Tempering factors: there is no CISA KEV listing and no EPSS score in the provided data, and no public PoC was supplied, so this is not confirmed as actively exploited - it is a high-severity, easily-reachable authorization flaw rather than a demonstrated in-the-wild campaign. One data conflict must be resolved: the description states the fix landed in 4.5.6 (twice), but the reference set points to release tag v4.5.2 and PR #4199 - verify the exact fixed version with the vendor advisory (GHSA-j6vv-pq9h-f4wj) before relying on either number. |
| Exploit ScenarioDerived | An attacker signs up for or already holds any low-privilege Trigger.dev account and generates a valid API key for their own project. They obtain a victim deployment's friendlyId (guessable/enumerable or leaked) and POST to /api/v1/deployments/:deploymentId/background-workers with that identifier, causing the server to link their attacker-controlled background worker to the victim's deployment and advance it from BUILDING to DEPLOYING. No public PoC is documented, but the low attack complexity and single authenticated request make exploitation straightforward if a valid identifier is known. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
Cross-tenant authorization bypass in Trigger.dev before 4.5.6 lets a caller holding a valid API key for one project act on another project's deployment. Because CreateDeploymentBackgroundWorkerServiceV4.call() looks up the deployment by friendlyId with no environmentId/tenant predicate, an attacker can attach an attacker-controlled background worker to a victim project's deployment and force it from BUILDING to DEPLOYING. No public exploit identified at time of analysis; the flaw is an insecure-direct-object-reference (IDOR) affecting the deployments API.
RemediationAI
Upgrade to the fixed Trigger.dev release; the description specifies 4.5.6, but because the references cite release v4.5.2 and PR #4199, confirm the exact patched tag against advisory GHSA-j6vv-pq9h-f4wj before deploying (https://github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-j6vv-pq9h-f4wj, https://github.com/triggerdotdev/trigger.dev/pull/4199). Self-hosters should apply the upgrade promptly since the endpoint is authenticated-but-cross-tenant reachable. If an immediate upgrade is not possible, compensating controls include restricting network reachability of the /api/v1/deployments/:deploymentId/background-workers endpoint to trusted CI/deploy pipelines (e.g. via a reverse proxy allowlist), rotating and tightly scoping API keys to limit which principals hold valid credentials, and monitoring deployment state transitions for background workers whose owning project does not match the deployment's project - the trade-off is that endpoint-level blocking may break legitimate CI-driven deploys, so scope any allowlist to your build infrastructure.
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 platform for building and running managed background jobs, AI agents, and workflows, deployed both as a hosted SaaS and self-hosted. The defect is in apps/webapp/app/v3/services/createDeploymentBackgroundWorkerV4.server.ts, reached via POST /api/v1/deployments/:deploymentId/background-workers. The Prisma query workerDeployment.findFirst() resolves the target by user-supplied friendlyId alone, omitting the environmentId predicate that would bind the record to the caller's project/environment. This is a textbook CWE-639 (Authorization Bypass Through User-Controlled Key): a globally meaningful identifier is trusted without verifying the caller owns the referenced object, allowing horizontal privilege escalation across tenants. The linked PR #4199 bundles broader tenant-scoping hardening (scoping run/batch/trigger lookups to the caller's tenant, rejecting cross-project replays), consistent with a class of missing-tenant-predicate issues in the webapp.
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:C/C:L/I:H/A:H
Any valid API key suffices (PR:L), request is remote and low-complexity, cross-tenant boundary gives S:C; core impact is integrity (I:H) via injecting a worker, with limited confidentiality/availability effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Trigger.dev is a platform for building and deploying fully managed AI agents and workflows. Prior to 4.5.6, POST /api/v1/deployments/:deploymentId/background-workers calls CreateDeploymentBackgroundWorkerServiceV4.call() in apps/webapp/app/v3/services/createDeploymentBackgroundWorkerV4.server.ts, where workerDeployment.findFirst() selects a deployment by friendlyId without an environmentId predicate. A caller with a valid API key for one project can submit another project's deployment identifier, link an attacker-owned background worker to the victim deployment, and move the victim deployment from BUILDING to DEPLOYING. This issue is fixed in version 4.5.6.
Executive ViewAI
Trigger.dev before version 4.5.6 enables any API key holder to compromise deployments across projects without authorization, allowing attackers to inject malicious background workers and force operational state changes. While no public exploit has been identified, this cross-tenant authorization bypass means a compromised API key threatens your entire Trigger.dev deployment footprint. Immediate API key rotation and compensating controls are critical-no vendor patch is currently available.
No vendor-released patch identified at time of analysis. Interim mitigations: immediately rotate all Trigger.dev API keys and restrict them to minimal scope; implement comprehensive API access logging and alerting for cross-project deployment modifications; enforce network-level IP whitelisting for all Trigger.dev API traffic; consider disabling API key authentication entirely pending patch availability and migrating to OAuth or service account mechanisms; audit and lock down all deployment states in victim projects; monitor for and isolate any unauthorized background workers attached to deployments.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
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
Path traversal in Trigger.dev's packet presign API routes (versions 4.4.2 through 4.4.x) allows a holder of any valid pr
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-58390
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB