Skip to main content

Trigger.dev EUVDEUVD-2026-58358

| CVE-2026-73654 HIGH
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-08-13 GitHub_M GHSA-p28v-f755-9qrg
8.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Obtain valid environment API key
  2. Delivery
    Send crafted PUT /api/v1/runs/:runId/metadata request with __proto__ path key
  3. Exploit
    JSONHeroPath.set() writes to Object.prototype
  4. Install
    Polluted properties propagate across shared Node.js process
  5. C2
    Prisma ORM queries malform and Prometheus labels corrupt
  6. Execute
    Worker authentication failures eject other tenants' workers
  7. Impact
    Process-wide denial of service until restart

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

Exploitation requires possession of a valid Trigger.dev environment API key at the low-privilege level (CVSS PR:L confirmed). Any key issued to a legitimate tenant suffices - no administrative, project-owner, or elevated role is needed. The vulnerable endpoint (PUT /api/v1/runs/:runId/metadata) is a standard part of the platform's run management API and requires no non-default feature flag or special configuration to be present. Unauthenticated exploitation is not possible. Cross-tenant impact is bounded by the shared webapp process architecture: self-hosted deployments with per-tenant process isolation would limit blast radius to the attacker's own process, though availability impact would still apply. The run ID used in the request path does not need to belong to the attacker - any run ID accepted by the endpoint is sufficient to trigger the prototype pollution.

Impact

The CVSS 3.1 score of 8.5 (AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H) accurately reflects the real-world threat profile. The scope-change metric (S:C) is the most operationally significant signal: a single authenticated tenant can disrupt availability and integrity for every other tenant sharing the webapp process, transforming a low-privilege credential into a cross-tenant weapon. The PR:L rating is correct - any holder of a standard environment API key qualifies, meaning the effective attacker pool includes all registered users of a shared deployment. Attack complexity is genuinely low: no race conditions, no special sequencing, and the JSONHeroPath vector is well-understood in the Node.js security community. No EPSS data was provided, and this CVE does not appear in the CISA KEV catalog, so active exploitation remains unconfirmed; however, the mechanically simple attack chain and publicly available PR diff supply enough information for a competent researcher to reproduce the issue without a dedicated proof-of-concept. The absence of confidentiality impact (C:N) is plausible given the current description, but prototype pollution can sometimes be chained to read injected properties - this secondary risk is not confirmed by available data and should not be assumed. Self-hosted single-tenant deployments face a lower blast radius (no cross-tenant scope change) but are still vulnerable to self-inflicted availability loss.

Exploit ScenarioDerived

An attacker holding any valid Trigger.dev environment API key sends a PUT request to /api/v1/runs/<any-runId>/metadata with a metadata operation whose key is set to __proto__.someProperty and value to an attacker-chosen primitive. The shared webapp process applies the mutation via JSONHeroPath.set(), writing to Object.prototype. Immediately, all objects instantiated in the process - including Prisma query builder instances and Prometheus label objects - inherit the injected property, causing malformed database queries and authentication failures that affect every other tenant until the process is restarted. The PR diff and CVE description together provide sufficient detail for an experienced researcher to construct this payload without an explicit proof-of-concept.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC 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 – Aug 13, 2026

Prototype pollution in Trigger.dev's run metadata API (versions 3.3.8 through 4.5.5) lets any authenticated tenant corrupt the shared Node.js webapp process's Object.prototype by supplying crafted path keys to the PUT /api/v1/runs/:runId/metadata endpoint. The root cause is the unsanitized use of attacker-supplied operation.key values passed directly to JSONHeroPath.set() in packages/core/src/v3/runMetadata/operations.ts without filtering __proto__, constructor, or prototype segments. A single exploiting tenant can corrupt Prisma ORM queries, poison Prometheus metric labels, break other tenants' worker authentication, and cause a process-wide denial of service - making this a multi-tenant isolation failure with scope-changed impact. No public exploit code or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade to Trigger.dev version 4.5.6 or later; this is the vendor-released patch confirmed by GitHub release tag v4.5.6 and security advisory GHSA-p28v-f755-9qrg. The fix, implemented in PR #4316 (https://github.com/triggerdotdev/trigger.dev/pull/4316) and commit 6997aeb (https://github.com/triggerdotdev/trigger.dev/commit/6997aeb05e27d2db47f9eda01fdc8a17c81a1ae0), validates and rejects dangerous prototype path segments in JSONHeroPath keys before mutation while preserving legitimate uses of 'constructor' and 'prototype' as field names. For self-hosted operators who cannot immediately upgrade, a compensating control is to deploy a reverse proxy or WAF rule rejecting PUT /api/v1/runs/*/metadata request bodies whose JSON keys contain the strings __proto__, constructor, or prototype - note this may generate false positives for payloads that use those strings as intentional data fields. Additionally, auditing and minimizing the issuance of environment API keys reduces the pool of potential exploiters but does not address the root vulnerability. Process restart clears a polluted prototype state, but does not prevent re-exploitation without the patch.

Affected VersionsENISA

trigger.dev 3.3.8, < 4.5.6

Affected Packages

npm @trigger.dev/core fix: 4.5.6
euvd trigger_dev_3_3_8 fix: 4.5.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, 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 a managed AI agent and workflow platform built on Node.js. The affected code path in packages/core/src/v3/runMetadata/operations.ts uses the JSONHeroPath library, which resolves dot-notation key paths to traverse and mutate JSON objects. When operation.key contains prototype-polluting segments such as __proto__, constructor, or prototype, JSONHeroPath.set() walks up the JavaScript prototype chain and writes attacker-controlled values directly onto Object.prototype - the root prototype inherited by every plain object in the Node.js process. Because the webapp runs as a single shared process serving multiple tenants, a polluted Object.prototype immediately contaminates all subsequent property lookups: Prisma ORM query builders construct malformed queries, Prometheus label objects inherit injected properties, and authentication checks that rely on object property presence return unexpected results. CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes) is the precise root cause class. CPE cpe:2.3:a:triggerdotdev:trigger.dev:*:*:*:*:*:*:*:* covers all versions from 3.3.8 up to and including 4.5.5.

Know when Prototype Pollution 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 (GitHub_M) PRIMARY 8.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H
vuln.today AI 8.5 HIGH

Network API endpoint exploitable with any tenant API key (PR:L, AC:L); scope change reflects cross-tenant process pollution; high availability loss from process-wide DoS; no confidentiality exfiltration confirmed.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
Low
Availability
High

Lifecycle Timeline

2
Patch available
Aug 13, 2026 - 21:20 EUVD
CVE Published
Aug 13, 2026 - 19:29 cve.org
HIGH 8.5

DescriptionCVE.org

Trigger.dev is a platform for building and deploying fully managed AI agents and workflows. From 3.3.8 until 4.5.6, the PUT /api/v1/runs/:runId/metadata endpoint passes attacker-controlled operation.key values to new JSONHeroPath(operation.key).set(newMetadata, value) in packages/core/src/v3/runMetadata/operations.ts without rejecting dangerous constructor and prototype path segments. A caller with a normal environment API key can pollute Object.prototype in the shared webapp process, corrupting Prisma queries and Prometheus labels, breaking other tenants' worker authentication, and causing a process-wide denial of service. This issue is fixed in version 4.5.6.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 3 npm packages depend on @trigger.dev/core (3 direct, 0 indirect)

Ecosystem-wide dependent count for version 3.3.8.

Latest POC

1 public PoC link from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

Trigger.dev versions 3.3.8-4.5.5 contain a critical vulnerability allowing any authenticated user to corrupt the shared application process, affecting all customers on these versions. While no public exploit has been identified at time of analysis, this multi-tenant isolation failure enables a single malicious tenant to sabotage other tenants' applications, disrupt service availability, and manipulate data integrity-representing immediate risk to business continuity and customer trust for organizations using Trigger.dev in a multi-tenant environment.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Implement interim mitigations: request-level filtering on the metadata API endpoint to reject any payload containing '__proto__', 'constructor', or 'prototype' in operation.key values; enforce rate limiting on the metadata API to reduce attack surface; deploy process isolation between tenant workloads if architecture permits; enable detailed request logging and alerting for suspicious metadata modifications; and establish a rollback plan to downgrade Trigger.dev to an unaffected version if exploitation is detected.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Low
niche developer workflow and AI agent platform, limited enterprise footprint
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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 Yes
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-34621 HIGH POC
8.6 Apr 11

Prototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu

CVE-2021-23450 CRITICAL POC
9.8 Dec 17

All versions of package dojo are vulnerable to Prototype Pollution via the setObject function. Rated critical severity (

CVE-2024-56059 CRITICAL
9.8 Dec 18

Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau

CVE-2021-23383 CRITICAL POC
9.8 May 04

The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to co

CVE-2020-7788 CRITICAL POC
9.8 Dec 11

This affects the package ini before 1.3.6. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl

CVE-2020-28271 CRITICAL POC
9.8 Nov 12

Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service

CVE-2023-38894 CRITICAL POC
9.8 Aug 16

A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi

CVE-2024-24292 CRITICAL POC
9.8 Mar 28

A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function

CVE-2023-26121 CRITICAL POC
10.0 Apr 11

All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s

CVE-2021-23449 CRITICAL POC
10.0 Oct 18

This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr

CVE-2024-39011 CRITICAL POC
9.8 Jul 30

Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser

CVE-2024-38988 CRITICAL POC
9.8 Mar 28

alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde

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