{"id":"CVE-2026-114084","kind":"vulnerability","aliases":["CVE-2026-114084"],"related":[],"title":"Trigger.dev: SQL injection in runs endpoint leaks other tenants' task data","description":"Trigger.dev before 4.5.6 contains an SQL injection vulnerability in the /realtime/v1/runs endpoint, which concatenates the unescaped tags query parameter into the ElectricSQL shape where clause and defeats the runtimeEnvironmentId tenant guard. Authenticated attackers holding any project API key with read:runs scope can append boolean conditions to stream TaskRun records, including payloads and metadata, from every organization on the same self-hosted instance.","summary":"Trigger.dev before 4.5.6 concatenates the tags query parameter unescaped into an ElectricSQL where clause on /realtime/v1/runs. An attacker with any project API key holding read:runs scope can append conditions and read TaskRun payloads and metadata from every organization on the same self-hosted instance.","severity":"high","cvss":8.3,"epss":0.00276,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["node.js","package","self-hosted","trigger.dev"],"not_affected_if":["managed-hosting","no-read-runs-keys"],"how_to_check":"- Check the installed Trigger.dev version against `4.5.6`.\n- Confirm whether the instance is self-hosted, since the sources describe cross-organization reach only on a shared self-hosted deployment.","fix":"- Upgrade Trigger.dev to `4.5.6` or later.\n- Rotate project API keys that carry read:runs scope if the instance was exposed before the upgrade.","status":"open","published_at":"2026-10-21T01:17:32+00:00","first_seen_at":"2026-10-23T21:57:27+00:00","triaged_at":"2026-10-25T03:02:15+00:00","updated_at":"2026-10-25T03:02:15+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T03:02:15Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Trigger.dev to `4.5.6` or later.\n- Rotate project API keys that carry read:runs scope if the instance was exposed before the upgrade.","reach":"internet","title":"Trigger.dev: SQL injection in runs endpoint leaks other tenants' task data","impact":"high","summary":"Trigger.dev before 4.5.6 concatenates the tags query parameter unescaped into an ElectricSQL where clause on /realtime/v1/runs. An attacker with any project API key holding read:runs scope can append conditions and read TaskRun payloads and metadata from every organization on the same self-hosted instance.","category":"package","nicknames":[],"who_cares":["self-hosted","trigger.dev","node.js"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker reads task payloads and metadata from other organizations' runs","analyst_note":"Confirm the exact fixed version and whether managed Trigger.dev cloud was affected, via the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-114084.","how_to_check":"- Check the installed Trigger.dev version against `4.5.6`.\n- Confirm whether the instance is self-hosted, since the sources describe cross-organization reach only on a shared self-hosted deployment.","needs_analyst":true,"not_affected_if":["managed-hosting","no-read-runs-keys"],"who_is_affected":"Teams running a self-hosted Trigger.dev instance before 4.5.6 with more than one organization or tenant on it. An attacker needs any project API key with read:runs scope. Hosted-only users with no self-hosted instance are not described as exposed by the sources.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000657,"input_tokens":3426,"output_tokens":629,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-114084':14A,17A '-2026':13A,16A '/realtime/v1/runs':39B,80C '4.5.6':26B,72C 'api':45B,106C 'append':52B,113C 'attack':41B,102C 'authent':101C 'boolean':114C 'claus':37B,94C 'concaten':27B,83C 'condit':53B,115C 'contain':73C 'cve':12A,15A 'data':11A 'defeat':96C 'electricsql':35B,91C 'endpoint':6A,81C 'everi':61B,125C 'guard':100C 'hold':47B,103C 'host':22B,68B,132C 'includ':120C 'inject':3A,76C 'instanc':69B,133C 'key':46B,107C 'leak':7A 'metadata':59B,123C 'node.js':18B 'organ':62B,126C 'packag':19B 'paramet':31B,88C 'payload':57B,121C 'project':44B,105C 'queri':30B,87C 'read':48B,55B,109C 'record':119C 'run':5A,49B,110C 'runtimeenvironmentid':98C 'scope':50B,111C 'self':21B,67B,131C 'self-host':20B,66B,130C 'shape':92C 'sql':2A,75C 'stream':117C 'tag':29B,86C 'task':10A 'taskrun':56B,118C 'tenant':9A,99C 'trigger.dev':1A,23B,24B,70C 'unescap':32B,85C 'vulner':77C","nicknames":[],"mitigations":[],"who_affected":"Teams running a self-hosted Trigger.dev instance before 4.5.6 with more than one organization or tenant on it. An attacker needs any project API key with read:runs scope. Hosted-only users with no self-hosted instance are not described as exposed by the sources.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T01:17:32+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/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-114084","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114084","severity":null,"published_at":"2026-10-21T01:17:32+00:00","modified_at":"2026-10-21T01:17:33+00:00","first_seen_at":"2026-10-23T21:57:27+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null},{"source":"epss","external_id":"CVE-2026-114084","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114084","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"}