Description
Trigger.dev is a platform for building and deploying fully managed AI agents and workflows. From 4.4.2 until 4.5.0-rc.4, `POST /api/v1/runs/:runParam/replay` in apps/webapp/app/routes/api.v1.runs.$runParam.replay.ts uses `prisma.taskRun.findUnique({ where: { friendlyId: runParam } })` without a runtimeEnvironmentId filter, then ReplayTaskRunService in apps/webapp/app/v3/services/replayTaskRun.server.ts replays the selected run in the victim environment. Any valid environment API key can therefore replay another tenant's run by friendlyId, consuming victim resources and repeating side effects; when `payloadType: "application/store"` is used, overrideExistingPayloadPacket() calls conditionallyImportPacket() on existingTaskRun.payload without an integrity check, so payload bytes overwritten through a separate object-store path-traversal vulnerability become attacker-controlled input to the victim task. This issue is fixed in version 4.5.0-rc.4.
Published: 2026-08-13
Score: 4.2 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Trigger.dev, a managed platform for AI agents, contains a flaw in the "/api/v1/runs/:runParam/replay" endpoint that allows a user with any valid environment API key to replay another tenant’s run by specifying its friendlyId. The replayed run executes in the victim’s environment and, when the payload type is \"application/store\", the stored payload bytes can be overwritten through a separate object‑store path‑traversal vulnerability. This enables the attacker to inject malicious payloads that are executed or processed within the victim tenant, effectively poisoning the tenant’s task runs.

Affected Systems

Affected deployments are running Trigger.dev versions from 4.4.2 up to and including 4.5‑0‑rc.4. Versions before 4.4.2 do not contain the vulnerable endpoint, while 4.5.0‑rc.4 and later include the patch that restricts replay to the same runtimeEnvironmentId and adds an integrity check before overwriting payload packets.

Risk and Exploitability

The CVSS score of 4.2 indicates moderate impact, and there is no EPSS data available; the issue is not listed in the CISA KEV catalog. The attack requires possession of a valid environment API key, so it is limited to actors who have gained tenant‑level access or compromised key material. Once an attacker can replay a run, they can consume resources and potentially execute attacker‑controlled payloads in the victim environment, but the vulnerability does not deliver arbitrary code execution across the network directly.

Generated by OpenCVE AI on August 13, 2026 at 22:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Trigger.dev to version 4.5.0‑rc.4 or later to resolve the replay misfiltering and payload poisoning issue.
  • Ensure that environment API keys are rotated regularly and that least‑privilege access controls are applied to limit unauthorized key exposure.
  • Implement monitoring for anomalous replay activity, especially recreation of runs with unfamiliar run identifiers, to detect potential cross‑tenant abuse early.

Generated by OpenCVE AI on August 13, 2026 at 22:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
Description Trigger.dev is a platform for building and deploying fully managed AI agents and workflows. From 4.4.2 until 4.5.0-rc.4, `POST /api/v1/runs/:runParam/replay` in apps/webapp/app/routes/api.v1.runs.$runParam.replay.ts uses `prisma.taskRun.findUnique({ where: { friendlyId: runParam } })` without a runtimeEnvironmentId filter, then ReplayTaskRunService in apps/webapp/app/v3/services/replayTaskRun.server.ts replays the selected run in the victim environment. Any valid environment API key can therefore replay another tenant's run by friendlyId, consuming victim resources and repeating side effects; when `payloadType: "application/store"` is used, overrideExistingPayloadPacket() calls conditionallyImportPacket() on existingTaskRun.payload without an integrity check, so payload bytes overwritten through a separate object-store path-traversal vulnerability become attacker-controlled input to the victim task. This issue is fixed in version 4.5.0-rc.4.
Title Trigger.dev: Cross-tenant payload poisoning via packet write + replay
Weaknesses CWE-22
CWE-345
CWE-639
References
Metrics cvssV3_1

{'score': 4.2, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-13T21:15:13.982Z

Reserved: 2026-08-13T14:04:09.605Z

Link: CVE-2026-73657

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T22:17:27.040

Modified: 2026-08-13T22:17:27.040

Link: CVE-2026-73657

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T22:45:03Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-345

    Insufficient Verification of Data Authenticity

  • CWE-639

    Authorization Bypass Through User-Controlled Key