Skip to main content

Trigger.dev CVE-2026-114084

| EUVDEUVD-2026-106887 HIGH
SQL Injection (CWE-89)
2026-10-21 VulnCheck GHSA-29hf-7539-5fj8
8.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain project API key with read:runs scope
  2. Delivery
    Send crafted tags parameter to /realtime/v1/runs
  3. Exploit
    Inject boolean condition into ElectricSQL where clause
  4. Execution
    Defeat runtimeEnvironmentId tenant guard
  5. Impact
    Exfiltrate TaskRun payloads and metadata across all organizations

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

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

Exploitation Conditions

Requires an authenticated caller presenting any project API key scoped with read:runs; privilege level is low but non-zero (PR:L). The flaw is reachable via the /realtime/v1/runs endpoint by supplying a tags query parameter containing injected SQL, exploiting the unescaped concatenation into the ElectricSQL shape where clause. Impact is meaningful only on self-hosted instances hosting multiple organizations/tenants - a single-tenant or SaaS-isolated deployment yields no cross-organization data because there is no foreign tenant data colocated. Limiting factors: a valid read:runs API key is mandatory (not unauthenticated), the instance must be self-hosted and multi-tenant, and only versions before 4.5.6 are affected.

Impact

This is a credible priority for operators of multi-tenant self-hosted Trigger.dev deployments, not merely a high-CVSS paper risk. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N, score 8.3) indicates network-reachable, low-complexity exploitation requiring only low privilege (PR:L), with high confidentiality impact to both the vulnerable system (VC:H) and subsequent systems (SC:H) - the latter reflecting the cross-tenant data exposure where one tenant reads every other organization's data. The real-world weight of this is high because the authentication barrier is weak: any project API key with the read:runs scope suffices, so a single legitimate low-tier tenant on a shared instance can read all tenants' TaskRun payloads and metadata. However, several escalating signals are MISSING and should temper urgency: no EPSS score is provided, the issue is NOT listed in CISA KEV, and no public proof-of-concept is referenced - so there is no public exploit identified at time of analysis and no evidence of active exploitation. The vector and the SQL-injection mechanism (CWE-89) are internally consistent with the description, so there is no conflict between the CVSS data and the narrative. Net: treat as an urgent patch item specifically for self-hosted multi-organization instances, but exploitation likelihood data is absent rather than elevated.

Exploit ScenarioDerived

A customer or insider holding a low-privilege project API key with read:runs scope on a shared self-hosted Trigger.dev instance sends a request to /realtime/v1/runs with a malicious tags parameter that injects a boolean SQL condition. Because the parameter is concatenated unescaped into the ElectricSQL shape where clause, the injected clause overrides the runtimeEnvironmentId tenant guard and streams TaskRun records - including payloads and metadata - belonging to every other organization on the instance. No public exploit code is referenced, so exploitation currently requires the attacker to craft the injection manually.

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

SQL injection in Trigger.dev before 4.5.6 lets an authenticated caller holding a project API key with read:runs scope read TaskRun records, including payloads and metadata, across organizations on a multi-tenant self-hosted instance by supplying malicious SQL in the tags query parameter of /realtime/v1/runs. The flaw is high severity but operationally meaningful primarily where multiple organizations share the same self-hosted deployment; single-tenant or SaaS-isolated deployments do not expose foreign tenant data in the same way. No public exploit identified at time of analysis.

RemediationAI

Upgrade self-hosted Trigger.dev to 4.5.6 or later, which is the vendor-released patch version for the affected range. Until upgrade, restrict read:runs project API keys to trusted users and rotate any keys that may have been exposed, accepting that integrations relying on those keys will need updating. If realtime run streaming is not required, block or disable /realtime/v1/runs at the reverse proxy or application layer, recognizing that dashboards and clients using realtime TaskRun streams will fail. For high-risk environments, isolate organizations onto separate self-hosted instances or run single-tenant so cross-organization data is not colocated, though this changes deployment architecture. Review logs for anomalous tags query parameters and unexpected cross-project TaskRun access. Consult the vendor advisory at https://github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-p6j2-2fjh-vc8v and the VulnCheck advisory at https://www.vulncheck.com/advisories/trigger-dev-before-4.5.6-sql-injection-via-tags-in-realtime-runs-api for additional details.

Affected VersionsENISA

trigger.dev 0 <4.5.6

Affected Packages

euvd trigger_dev fix: 4.5.6

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

The affected component is Trigger.dev's realtime runs API backed by ElectricSQL shape queries. The /realtime/v1/runs endpoint concatenates the unescaped tags query parameter into the ElectricSQL shape WHERE clause, and because the runtimeEnvironmentId tenant guard is enforced through that same query structure, injected boolean conditions can broaden the result set beyond the caller's tenant. This is CWE-89 SQL injection: untrusted input reaches SQL-like query construction without proper parameterization. Exploitation requires a valid project API key with read:runs scope (authenticated, low privilege), and the confidentiality impact is concentrated on self-hosted instances hosting multiple organizations where foreign TaskRun data is colocated; versions before 4.5.6 are affected per the CPE 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

Vendor (VulnCheck) PRIMARY 8.3 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
vuln.today AI 7.7 HIGH

Network, low-complexity SQLi needing a low-privilege read:runs API key (PR:L); scope changes (S:C) as it crosses the tenant boundary to read other organizations' data; confidentiality-only impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/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
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
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.6 contains an SQL injection vulnerability in the /realtime/v1/runs endpoint, which concatenates the unescaped tags query parameter into the ElectricSQL shape where clause and defeats the runtimeEnvironmentId tenant guard. Authenticated attackers holding any project API key with read:runs scope can append boolean conditions to stream TaskRun records, including payloads and metadata, from every organization on the same self-hosted instance.

Technical POC Analysis

CWE-89 (SQL injection via string concatenation).

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

Trigger.dev self-hosted deployments configured for multiple tenants can expose TaskRun payloads and metadata across organizations through a SQL injection flaw in the /realtime/v1/runs tags parameter, affecting confidentiality of tenant data for any organization sharing the instance. Leadership should care because a project API key with read:runs scope is sufficient to reach foreign-tenant records, which can undermine customer trust, contractual isolation commitments, and compliance obligations; single-tenant and SaaS-isolated deployments are not affected in the same way. No public exploit has been identified at time of analysis, but the issue is rated high severity.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; if version 4.5.6 is available, apply it, and in the interim restrict and rotate read:runs project API keys, isolate multi-tenant self-hosted instances, and monitor for anomalous SQL in the tags parameter.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche open-source developer job-orchestration platform, self-hosted multi-tenant deployments only
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
No
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

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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