Skip to main content

Trigger.dev EUVDEUVD-2026-106891

| CVE-2026-114088 HIGH
Use of Hard-coded Credentials (CWE-798)
2026-10-21 VulnCheck GHSA-j3cj-67wq-q96g
8.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach self-hosted webapp /coordinator namespace
  2. Delivery
    Authenticate with published coordinator-secret
  3. Exploit
    Emit READY_FOR_EXECUTION with target runId
  4. Execution
    Receive decrypted run environment variables
  5. Impact
    Tamper runs via TASK_RUN_FAILED_TO_RUN events

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Credential externalization
MITRE ATT&CK

2 techniques across 2 tactics: Persistence, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Target must be a self-hosted Trigger.dev webapp (before 4.5.4) running with the default, undocumented COORDINATOR_SECRET value 'coordinator-secret' - i.e. any operator who did not discover and override the source-only variable - with the /coordinator Socket.IO namespace network-reachable. For decrypted environment-variable exfiltration via READY_FOR_EXECUTION, the deployment must still be running V1 (marqs/ Run Engine) code and the attacker must know or discover an internal runId; V2/Run Engine 2.0 deployments return nothing for this read handler and expose only the write/tamper handlers (TASK_RUN_FAILED_TO_RUN, TASK_RUN_COMPLETED, CHECKPOINT_CREATED, etc.). Limiting factors: operators who explicitly set the override secret are not vulnerable, and V2-only (v4) deployments are not exposed to secret exfiltration. Trigger.dev Cloud is not implicated by the self-host default-config description.

Impact

This is a genuine high-priority issue for self-hosted Trigger.dev operators, not an inflated CVSS number. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N, VC:H) correctly captures a network-reachable, unauthenticated flaw with high confidentiality impact: the /coordinator Socket.IO namespace authenticates against a hardcoded 'coordinator-secret' that is published in the public source repo (CWE-798) and is undocumented in self-host docs, .env.example, and helm values, so default deployments ship exploitable. The AT:P (Attack Requirement: Present) metric reflects the one real gating condition - the attacker must know an internal runId to exfiltrate that run's decrypted environment variables via READY_FOR_EXECUTION. Signals are consistent rather than conflicting: there is NO CISA KEV listing, NO EPSS score, and NO public exploit provided in the input, so exploitation status is low-visibility, but the trivial connect-with-published-secret primitive plus clear source-code evidence make real-world abuse plausible once a runId is discovered. Note an important scope limiter the raw score hides: the env-var read handler lives in V1-only marqs/ code, so only self-hosts still on Run Engine V1 are exposed to secret exfiltration; v4/V2-only deployments only expose the write (tamper) handlers. EPSS/KEV absence here most likely reflects recency and the self-hosted/niche footprint rather than low exploitability.

Exploit ScenarioDerived

An attacker who can reach a default-configured self-hosted Trigger.dev webapp connects to the /coordinator Socket.IO namespace and authenticates using the public 'coordinator-secret' string baked into the source code. They emit READY_FOR_EXECUTION referencing an internal runId to retrieve that run's decrypted production environment variables, or send TASK_RUN_FAILED_TO_RUN and similar events to tamper with arbitrary runs across tenants. No public exploit code was identified in the provided data, but the technique is fully documented in the GHSA advisory with exact source locations, and exploitation complexity is low (AV:N/AC:L).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 21, 2026

Unauthenticated remote attackers can bypass Socket.IO authentication on self-hosted Trigger.dev webapps before 4.5.4 because the /coordinator namespace authenticates against a source-published default COORDINATOR_SECRET ('coordinator-secret') that is absent from the self-hosting docs, .env.example, and Helm values, so operators who never overrode it ship the published value. With that value an attacker can emit READY_FOR_EXECUTION to pull a run's decrypted environment variables (V1/marqs deployments, provided an internal runId is known) or send TASK_RUN_FAILED_TO_RUN, TASK_RUN_COMPLETED, CHECKPOINT_CREATED and similar events to tamper with arbitrary runs. No public exploit code or confirmed active exploitation was identified at time of analysis; exposure is confined to self-hosted deployments left on the default secret, and Trigger.dev Cloud is not implicated by this self-host default-configuration issue.

RemediationAI

Vendor-released patch: upgrade to Trigger.dev 4.5.4 (npm trigger.dev 4.5.4), which removes reliance on the baked-in default; the fix landed in PR https://github.com/triggerdotdev/trigger.dev/pull/4236 (commit https://github.com/triggerdotdev/trigger.dev/commit/5ba8557a51533be05f04245b03e1ca975cd57eff) per advisory GHSA-gg6r-gp4c-89hp. If immediate upgrade is not possible, set COORDINATOR_SECRET and PROVIDER_SECRET to high-entropy random values in the webapp environment and restart, keeping in mind this undocumented variable must be applied consistently to every webapp replica or the namespace will fail to authenticate (a functional side effect on running workers). Additionally restrict network reachability of the /coordinator Socket.IO namespace to trusted worker/coordinator networks via ingress rules, service mesh policy, or a reverse-proxy path allowlist, accepting that misconfigured topologies will break run orchestration, and migrate V1 marqs deployments to Run Engine 2.0 to eliminate the decrypted-environment read path (the write/tamper handlers still require the secret fix). Because READY_FOR_EXECUTION returns decrypted run environment variables, treat all secrets injected into runs on a default-configured self-host as potentially compromised: rotate those credentials after patching. Advisory references: https://github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-gg6r-gp4c-89hp and https://www.vulncheck.com/advisories/trigger-dev-before-4.5.4-hardcoded-coordinator-secret-authentication-bypass-via-socket-io.

Affected VersionsENISA

trigger.dev 0 <4.5.4

Affected Packages

npm trigger.dev fix: 4.5.4

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

The root cause is CWE-798 (use of hard-coded credentials): apps/webapp/app/env.server.ts declares COORDINATOR_SECRET and PROVIDER_SECRET with Zod .default("coordinator-secret") and .default("provider-secret"), and the authentication check in packages/core/src/v3/zodNamespace.ts is a plain string comparison against that publicly committed value rather than a per-deployment random secret. Because the override variable is undocumented in docs/self-hosting/env/*.mdx, hosting/docker/.env.example and hosting/k8s/helm/values.yaml, the default is the effective configuration for many self-hosts. Two secondary weaknesses amplify the bypass: CWE-200 information exposure in the READY_FOR_EXECUTION handler (handleSocketIo.server.ts), which calls getLatestExecutionPayloadFromRun and returns payload.environment, the run's decrypted environment-variable dictionary, for any internal runId regardless of tenant; and CWE-862 missing authorization in the write handlers (TASK_RUN_COMPLETED, TASK_RUN_COMPLETED_WITH_ACK, TASK_RUN_FAILED_TO_RUN, CHECKPOINT_CREATED, CREATE_WORKER), which accept attacker-controlled state changes against arbitrary runs. The read path lives in V1-only marqs/ code, so Run Engine 2.0 (v4) deployments return nothing there while still exposing the write handlers. The assessed CVSS:3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:N) reflects an unauthenticated network attack that succeeds only when the default secret remains in place (attack requirements present, AT:P in the CVSS:4.0 8.3 rating) and yields high confidentiality impact with limited integrity impact.

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 8.3 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network, unauthenticated via published default secret (PR:N); AC:H because the attacker must know an internal runId; S:C for cross-tenant access; C:H (decrypted secrets), I:L (run tampering), A:N.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 02:01 EUVD
CVE Published
Oct 21, 2026 - 00:36 cve.org
HIGH 8.3

DescriptionCVE.org

Trigger.dev before 4.5.4 contains a hardcoded default secret vulnerability in the /coordinator Socket.IO namespace that allows unauthenticated attackers to connect using the published coordinator-secret value. Attackers can emit READY_FOR_EXECUTION to retrieve decrypted run environment variables or send TASK_RUN_FAILED_TO_RUN and similar events to tamper with arbitrary runs.

Technical POC Analysis

CWE-798 (Use of Hard-coded Credentials), chained with CWE-200 and CWE-862.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Self-hosted Trigger.dev deployments that never replaced the shipped default COORDINATOR_SECRET allow outside parties who can reach the webapp to impersonate the coordinator service, exposing decrypted run environment variables and permitting manipulation of job run state. Trigger.dev Cloud is not implicated; exposure is confined to organizations running their own instances, where a single unchanged default can reach secrets and workloads the business depends on. Leadership should treat this as a credential-hygiene failure requiring immediate inventory and rotation across every self-hosted environment.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: replace COORDINATOR_SECRET with a unique high-entropy value on every self-hosted instance, restrict network access to the Socket.IO coordinator namespace to trusted sources, audit run event logs for unauthorized READY_FOR_EXECUTION or TASK_RUN_* emissions, and rotate any secrets that were exposed through run environment variables.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche self-hosted developer task-orchestration platform, limited production footprint
Data Quality
3 sources
Confidence: Low

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Yes
Human Impact
High

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
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