Skip to main content

Trigger.dev EUVDEUVD-2026-106882

| CVE-2026-114079 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-21 VulnCheck GHSA-49rg-27pr-85f9
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain lower-trust project API key
  2. Exploit
    POST to deployment cancel endpoint
  3. Execution
    Lookup resolves by projectId only (env scope bypassed)
  4. Impact
    Cancel in-progress production deployment

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 the attacker to possess a valid but lower-trust secret API key (dev, preview, or CI/per-PR preview-branch key) for the SAME project as the target, and the target deployment must be in a non-final, in-progress state (PENDING, INSTALLING, BUILDING, or DEPLOYING) - validateDeployment rejects only FINAL_DEPLOYMENT_STATUSES. Limiting factors that reduce real-world risk: the flaw cannot cross project boundaries (lookup is still projectId-scoped), it cannot read or exfiltrate the production deployment (the GET route remains correctly environmentId-scoped and returns 404), it only cancels - not modifies or deploys - and affected installs must be running trigger.dev before 4.5.6 (self-hosted or cloud).

Impact

This is a genuine but moderate-severity authorization flaw, not a critical priority. The vendor-provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the score of 5.3 (MEDIUM) are internally consistent with the description: exploitation is network-reachable, low-complexity, requires no user interaction, but does require privileges (PR:L) - specifically a valid lower-trust API key for the target project. Impact is correctly scoped to partial integrity/availability (VI:L/VA:L) with no confidentiality loss (VC:N), matching a flaw that cancels (disrupts) deployments but does not read or steal data. No EPSS score was provided, the CVE is NOT on CISA KEV, and no public proof-of-concept is referenced, so exploitation status is 'no public exploit identified at time of analysis.' The signals do not conflict: a MEDIUM CVSS with no KEV/POC and a privilege requirement points to a real-but-limited risk primarily affecting multi-environment CI/CD pipelines where lower-trust keys exist. The main nuance is organizational: because the broken trust boundary is between a project's own environments, the realistic threat is an insider, a compromised dev/preview/CI key, or a malicious collaborator - not an anonymous internet attacker.

Exploit ScenarioDerived

An attacker who holds a lower-trust API key (dev, preview, or CI secret key) for a Trigger.dev project - for example a leaked CI secret or a malicious contributor - sends a crafted POST to the deployment cancel endpoint referencing an in-progress production deployment's friendlyId in the same project. Because DeploymentService.getDeployment scopes the lookup by projectId only, the production deployment is cancelled despite the key lacking production privileges, disrupting the release. No public exploit code is referenced, but the flaw is trivially reproducible from the advisory's root-cause analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Cross-environment authorization bypass in Trigger.dev before 4.5.6 lets holders of lower-trust environment secret keys (dev, preview, or CI) cancel in-progress production deployments inside the same project. The cancel path resolves deployments through DeploymentService.getDeployment, which filters on projectId only and never on environmentId, so a key that is refused with a 404 when reading a production deployment through the correctly environment-scoped GET route can still abort it while it sits in PENDING, INSTALLING, BUILDING, or DEPLOYING state. Impact is moderate (CVSS 5.3, authenticated with PR:L): the flaw cannot cross project boundaries, cannot read or exfiltrate deployment data, and only cancels rather than modifies or creates deployments; no public exploit code was identified at time of analysis, and the issue is fixed in 4.5.6.

RemediationAI

Vendor-released patch: upgrade the trigger.dev npm package to 4.5.6 (or rebuild self-hosted images from the 4.5.6 release, which incorporates PR #4316 / commit 6997aeb05e27d2db47f9eda01fdc8a17c81a1ae0) so the cancel path scopes lookups by environmentId in addition to projectId. See the advisory at https://github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-4672-hwv6-gq62 for confirmation and release notes. If upgrading must be staged, compensating controls are: stop issuing dev, preview, and CI secret keys in any project that also hosts production deployments on a vulnerable version, and rotate keys already held by lower-trust users or CI systems - the trade-off is that per-PR preview workflows lose their isolation model and must be re-provisioned once patched. Add alerting on workerDeployment status transitions to CANCELED, flagging cancellations where the acting key belongs to a different environment than the target deployment, so abuse during the exposure window is detected even though it cannot be prevented. Where API-driven cancellation from CI is not required, block POST requests to the deployment cancel endpoint for non-production keys at the reverse proxy or gateway; this prevents the attack but also breaks legitimate CI and dev-environment cancellation automation, which then must be performed manually or from a production-scoped key. Note that the read path is already environment-scoped, so restricting GET access provides no mitigation for this cancel-only flaw.

Affected VersionsENISA

trigger.dev 0 <4.5.6

Affected Packages

npm trigger.dev fix: 4.5.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Trigger.dev partitions each project into isolated environments (dev, staging, prod, and per-PR preview branches), each issued its own secret API key, and treats the environment as a trust boundary: most API routes scope resource lookups with a runtimeEnvironmentId or environmentId predicate matching the authenticated key. The deployment cancel route in apps/webapp breaks that invariant. It authenticates the caller to an environment, then calls deploymentService.cancelDeployment, whose signature is typed as Pick of AuthenticatedEnvironment limited to projectId - the environment identity is literally discarded at the type level. The underlying Prisma call workerDeployment.findFirst uses where { friendlyId, projectId } with no environmentId filter, so the user-controlled friendlyId (the CWE-639 authorization-bypass key) is matched against the whole project rather than the caller's environment slice. The subsequent validateDeployment step only rejects FINAL_DEPLOYMENT_STATUSES, meaning every non-terminal state (PENDING, INSTALLING, BUILDING, DEPLOYING) remains cancellable and the updateMany flips status to CANCELED. The sibling GET route in api.v1.deployments.$deploymentId.ts does add environmentId to the where clause, which is why the same key returns 404 on read but succeeds on cancel - that asymmetry is the defect. The vulnerable code lives in the Node/TypeScript webapp (apps/webapp, HEAD 5d99457) and affects both self-hosted deployments and Trigger.dev Cloud; the fix restores environment scoping on the cancel path.

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Network API endpoint (AV:N/AC:L) requires a valid lower-trust project key (PR:L), no UI; cancelling deployments harms integrity/availability partially (I:L/A:L) with no data disclosure (C:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 21, 2026 - 02:01 EUVD

DescriptionCVE.org

Trigger.dev before 4.5.6 contains an improper authorization vulnerability that allows holders of lower-trust environment API keys to cancel other environments' deployments because DeploymentService.getDeployment scopes lookups by projectId only. Attackers with a dev, preview, or CI secret key can POST to the deployment cancel endpoint to cancel in-progress production deployments within the same project.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
developer background-jobs platform, niche adoption, limited production footprint
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy