{"id":"CVE-2026-114091","kind":"vulnerability","aliases":["CVE-2026-114091"],"related":[],"title":"Trigger.dev: run replay route leaks other tenants' task payloads","description":"Trigger.dev before 4.5.0 looks up runs by friendlyId alone in the api.v1.runs.$runParam.replay route without scoping the lookup to the caller's runtime environment. An attacker holding any tenant's API key who knows a victim's run friendlyId can replay that run into their own environment and read the victim's task payload.","summary":"Trigger.dev before 4.5.0 looks up runs by friendlyId alone in the replay route, without scoping to the caller's environment. An attacker with any tenant's API key and a victim's run friendlyId can replay that run into their own environment and read the victim's task payload.","severity":"medium","cvss":6.0,"epss":0.00233,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["multi-tenant","node.js","package","self-hosted","trigger.dev"],"not_affected_if":["single-tenant-deployment","version-4.5.0-or-later"],"how_to_check":"- Check the installed Trigger.dev version (`npx trigger.dev@latest --version` or the version in `package.json`) and confirm it is below `4.5.0`\n- Confirm whether the self-hosted deployment serves the route `api.v1.runs.$runParam.replay`","fix":"- Upgrade Trigger.dev to `4.5.0` or later\n- Rotate API keys and secrets referenced in payloads of runs that may have been replayed across environments","status":"open","published_at":"2026-10-21T01:17:34+00:00","first_seen_at":"2026-10-23T21:57:28+00:00","triaged_at":"2026-10-25T04:05:34+00:00","updated_at":"2026-10-25T04:05:34+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T04:05:34Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Trigger.dev to `4.5.0` or later\n- Rotate API keys and secrets referenced in payloads of runs that may have been replayed across environments","reach":"internet","title":"Trigger.dev: run replay route leaks other tenants' task payloads","impact":"medium","summary":"Trigger.dev before 4.5.0 looks up runs by friendlyId alone in the replay route, without scoping to the caller's environment. An attacker with any tenant's API key and a victim's run friendlyId can replay that run into their own environment and read the victim's task payload.","category":"package","nicknames":[],"who_cares":["trigger.dev","self-hosted","multi-tenant","node.js"],"confidence":0.6,"needs_auth":"yes","worst_case":"attacker reads another tenant's task payloads","analyst_note":"Confirm whether the hosted Trigger.dev service was patched and whether the NVD entry lists affected version ranges; the sources give no fix details beyond 4.5.0.","how_to_check":"- Check the installed Trigger.dev version (`npx trigger.dev@latest --version` or the version in `package.json`) and confirm it is below `4.5.0`\n- Confirm whether the self-hosted deployment serves the route `api.v1.runs.$runParam.replay`","needs_analyst":true,"not_affected_if":["single-tenant-deployment","version-4.5.0-or-later"],"who_is_affected":"Teams running Trigger.dev before `4.5.0`, both self-hosted and on the hosted service, where more than one tenant or environment holds API keys. Single-tenant deployments with one trusted API key have little exposure to cross-environment replay. unknown whether the hosted service was patched by the vendor.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000658,"input_tokens":3382,"output_tokens":639,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-114091':12A,15A '-2026':11A,14A '4.5.0':27B,76C 'alon':33B,82C 'api':51B,104C 'api.v1.runs':85C 'attack':46B,99C 'caller':42B,94C 'cve':10A,13A 'environ':44B,66B,97C,120C 'friendlyid':32B,58B,81C,112C 'hold':100C 'host':23B 'key':52B,105C 'know':107C 'leak':5A 'look':28B,77C 'lookup':91C 'multi':17B 'multi-ten':16B 'node.js':19B 'packag':20B 'payload':9A,73B,127C 'read':68B,122C 'replay':3A,36B,60B,114C 'rout':4A,37B,87C 'run':2A,30B,57B,62B,79C,111C,116C 'runparam.replay':86C 'runtim':96C 'scope':39B,89C 'self':22B 'self-host':21B 'task':8A,72B,126C 'tenant':7A,18B,49B,102C 'trigger.dev':1A,24B,25B,74C 'victim':55B,70B,109C,124C 'without':38B,88C","nicknames":[],"mitigations":[],"who_affected":"Teams running Trigger.dev before `4.5.0`, both self-hosted and on the hosted service, where more than one tenant or environment holds API keys. Single-tenant deployments with one trusted API key have little exposure to cross-environment replay. unknown whether the hosted service was patched by the vendor.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T01:17:34+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-114091","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114091","severity":null,"published_at":"2026-10-21T01:17:34+00:00","modified_at":"2026-10-21T01:17:34+00:00","first_seen_at":"2026-10-23T21:57:28+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null},{"source":"epss","external_id":"CVE-2026-114091","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114091","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T13:15:55+00:00","fetched_at":"2026-10-24T13:15:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}