highCVSS 8.5Vulnerability

CVE-2026-73654

## Summary The run-metadata update endpoint `PUT /api/v1/runs/:runId/metadata` applies client-supplied "operations" by passing the **attacker-controlled `operation.key`** straight into `new JSONHeroPath(operation.key).set(newMetadata, value)` (`packages/core/src/v3/runMetadata/operations.ts:22-23`), with **no prototype-pollution guard** (`@jsonhero/path@^1.0.21` does not reject `__proto__`/`constructor`/`prototype`). A request with `key: "$.__proto__.polluted"` sets **`Object.prototype.polluted`** in the webapp process. Because every plain object then inherits that property, it corrupts unrelated code **process-wide and across tenants** — including Prisma query building and the Prometheus metrics client — causing query failures, **broken authentication for other tenants' workers**, and an `uncaughtException` (denial of service). Only a normal, low-privilege environment API key is required (one request). ## Severity A single request from any holder of a normal environment API key contaminates `Object.prototype` in the shared webapp process, breaking other tenants' workers (scope change) and degrading/ crashing the process (high availability impact). Prototype pollution is also a primitive for further gadget chains (integrity/confidentiality). ## Affected versions - **Introduced** in commit `34f8bd588` ("Add ability to update parent and root run metadata from children", PR #1563, 2025-01-08) — the `JSONHeroPath(operation.key).set()` sink is present from the first commit of `operations.ts`. SDK was at `3.3.8` at that time. - **Still present at HEAD** (SDK `4.5.0-rc.7`); `operations.ts` unchanged since 2025-05, and `@jsonhero/path` is pinned at `^1.0.21` (no proto-guard) throughout. - **Affected range:** `>= v3.3.8` (metadata operations API) through `v4-beta` / current v4.x — **fixed: 4.5.6**. ## Root cause `packages/core/src/v3/runMetadata/operations.ts` — `applyMetadataOperations()` builds a path from the **untrusted** `operation.key` and writes to it,

Properties

ghsa_id
GHSA-p28v-f755-9qrg
severity
high
summary
Trigger.dev: Prototype pollution via run metadata operations → process-wide cross-tenant DoS
cvss_score
8.5
cve_id
CVE-2026-73654
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H
is_ghsa_only
false
ghsa_published
2026-08-13T20:54:11Z
source_url
https://github.com/advisories/GHSA-p28v-f755-9qrg
ghsa_updated
2026-08-13T20:54:13Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]npm/@trigger.dev/core

AFFECTS (1)

[Software]npm/@trigger.dev/core

HAS_WEAKNESS (1)

[Weakness]Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-73654 (CVSS 8.5) — Ninja Signal Threat Intelligence | Ninja Signal