Triggerdotdev
Monthly
Missing authorization on the run replay API endpoint in Trigger.dev before 4.5.2 allows authenticated attackers to inject task runs into environments belonging to other organizations or projects. By replaying their own historical runs into victim environments, attackers can consume victim compute resources and permanently pollute that organization's run history and audit logs. No public exploit has been identified at time of analysis, but the vulnerability is trivially exploitable by any authenticated platform user against any other tenant.
Path traversal in Trigger.dev's packet presign API routes (versions 4.4.2 through 4.4.x) allows a holder of any valid project API key to escape the intended packets/<projectRef>/<env>/ object-store prefix by injecting .. sequences into the caller-controlled filename parameter. On multi-organization self-hosted deployments, this enables cross-tenant reads and overwrites of offloaded task payloads and outputs. No public exploit code or CISA KEV listing exists at time of analysis; the CVSS 8.1 (High) rating reflects high confidentiality and integrity impact reachable by any authenticated project member without elevated privileges.
Cross-tenant path traversal in Trigger.dev versions 4.4.2 through pre-4.5.0-rc.5 allows any authenticated tenant holding a valid environment API key to obtain presigned AWS S3 URLs scoped to another tenant's object-store keys, enabling unauthorized read and write access to task payloads. The flaw combines user-controlled packet path keys written directly into URL.pathname without dot-segment rejection and a stub ownership check (findResource: async () => 1) that unconditionally returns truthy for any requested resource. No public exploit code has been identified at time of analysis, though the mechanism is straightforward to reproduce from the CVE description alone, and the vendor has released a fix in v4.5.0-rc.5.
Cross-tenant authorization bypass in Trigger.dev before 4.5.6 lets a caller holding a valid API key for one project act on another project's deployment. Because CreateDeploymentBackgroundWorkerServiceV4.call() looks up the deployment by friendlyId with no environmentId/tenant predicate, an attacker can attach an attacker-controlled background worker to a victim project's deployment and force it from BUILDING to DEPLOYING. No public exploit identified at time of analysis; the flaw is an insecure-direct-object-reference (IDOR) affecting the deployments API.
Account takeover in Trigger.dev before 4.5.2 allows an unauthenticated remote attacker to hijack any existing user account that has not yet linked a Google OAuth identity, by presenting a Google profile whose email is unverified but matches the victim's registered address. The `addGoogleStrategy()` function in `apps/webapp/app/services/googleAuth.server.ts` omits the `email_verified` assertion before calling `findOrCreateGoogleUser()`, causing the server to bind the attacker's Google `authIdentifier` to the victim's account when the conditional `existingEmailUser && !existingUser` is satisfied. No public exploit has been identified at time of analysis, but the fix is available in v4.5.2 and the attack requires no Trigger.dev credentials.
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.
Server-side request forgery in Trigger.dev before 4.5.2 allows authenticated organization members to register webhook alert channel URLs targeting internal network services, loopback addresses, or cloud provider metadata endpoints such as the AWS IMDSv1 service. When an alert is delivered, the Trigger.dev server issues an outbound POST request to the attacker-controlled URL without any URL validation or SSRF filtering, exposing internal infrastructure to probing and potentially yielding cloud IAM credentials. The vendor released v4.5.2 as a security hardening release that introduces URL sanitization via a `sanitizeHttpUrl` utility; no public exploit code or CISA KEV listing has been identified at time of analysis.
Cross-tenant run replay in Trigger.dev 4.4.2-4.5.0-rc.3 allows any authenticated API key holder to replay task runs belonging to other tenants by supplying a victim's run `friendlyId` to the replay endpoint, which performs no tenant isolation check. This unauthorized replay consumes victim compute resources and re-executes side effects such as outbound API calls, webhook triggers, and database writes. A secondary chained code path further allows attacker-controlled payload bytes - planted via a separate object-store path-traversal - to become input to the victim task when `payloadType: application/store` is in use. No public exploit has been identified at time of analysis, and this CVE is not listed in CISA KEV.
Missing authorization on the run replay API endpoint in Trigger.dev before 4.5.2 allows authenticated attackers to inject task runs into environments belonging to other organizations or projects. By replaying their own historical runs into victim environments, attackers can consume victim compute resources and permanently pollute that organization's run history and audit logs. No public exploit has been identified at time of analysis, but the vulnerability is trivially exploitable by any authenticated platform user against any other tenant.
Path traversal in Trigger.dev's packet presign API routes (versions 4.4.2 through 4.4.x) allows a holder of any valid project API key to escape the intended packets/<projectRef>/<env>/ object-store prefix by injecting .. sequences into the caller-controlled filename parameter. On multi-organization self-hosted deployments, this enables cross-tenant reads and overwrites of offloaded task payloads and outputs. No public exploit code or CISA KEV listing exists at time of analysis; the CVSS 8.1 (High) rating reflects high confidentiality and integrity impact reachable by any authenticated project member without elevated privileges.
Cross-tenant path traversal in Trigger.dev versions 4.4.2 through pre-4.5.0-rc.5 allows any authenticated tenant holding a valid environment API key to obtain presigned AWS S3 URLs scoped to another tenant's object-store keys, enabling unauthorized read and write access to task payloads. The flaw combines user-controlled packet path keys written directly into URL.pathname without dot-segment rejection and a stub ownership check (findResource: async () => 1) that unconditionally returns truthy for any requested resource. No public exploit code has been identified at time of analysis, though the mechanism is straightforward to reproduce from the CVE description alone, and the vendor has released a fix in v4.5.0-rc.5.
Cross-tenant authorization bypass in Trigger.dev before 4.5.6 lets a caller holding a valid API key for one project act on another project's deployment. Because CreateDeploymentBackgroundWorkerServiceV4.call() looks up the deployment by friendlyId with no environmentId/tenant predicate, an attacker can attach an attacker-controlled background worker to a victim project's deployment and force it from BUILDING to DEPLOYING. No public exploit identified at time of analysis; the flaw is an insecure-direct-object-reference (IDOR) affecting the deployments API.
Account takeover in Trigger.dev before 4.5.2 allows an unauthenticated remote attacker to hijack any existing user account that has not yet linked a Google OAuth identity, by presenting a Google profile whose email is unverified but matches the victim's registered address. The `addGoogleStrategy()` function in `apps/webapp/app/services/googleAuth.server.ts` omits the `email_verified` assertion before calling `findOrCreateGoogleUser()`, causing the server to bind the attacker's Google `authIdentifier` to the victim's account when the conditional `existingEmailUser && !existingUser` is satisfied. No public exploit has been identified at time of analysis, but the fix is available in v4.5.2 and the attack requires no Trigger.dev credentials.
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.
Server-side request forgery in Trigger.dev before 4.5.2 allows authenticated organization members to register webhook alert channel URLs targeting internal network services, loopback addresses, or cloud provider metadata endpoints such as the AWS IMDSv1 service. When an alert is delivered, the Trigger.dev server issues an outbound POST request to the attacker-controlled URL without any URL validation or SSRF filtering, exposing internal infrastructure to probing and potentially yielding cloud IAM credentials. The vendor released v4.5.2 as a security hardening release that introduces URL sanitization via a `sanitizeHttpUrl` utility; no public exploit code or CISA KEV listing has been identified at time of analysis.
Cross-tenant run replay in Trigger.dev 4.4.2-4.5.0-rc.3 allows any authenticated API key holder to replay task runs belonging to other tenants by supplying a victim's run `friendlyId` to the replay endpoint, which performs no tenant isolation check. This unauthorized replay consumes victim compute resources and re-executes side effects such as outbound API calls, webhook triggers, and database writes. A secondary chained code path further allows attacker-controlled payload bytes - planted via a separate object-store path-traversal - to become input to the victim task when `payloadType: application/store` is in use. No public exploit has been identified at time of analysis, and this CVE is not listed in CISA KEV.