{"id":"CVE-2026-114081","kind":"vulnerability","aliases":["CVE-2026-114081"],"related":[],"title":"Trigger.dev: SQL injection in query compiler exposes other tenants' data","description":"Trigger.dev before 4.5.6 contains an SQL injection vulnerability in the TSQL query compiler, which concatenates window-function names into generated ClickHouse SQL without allowlisting or escaping. Authenticated customers can submit a backtick-quoted identifier to POST /api/v1/query that injects a raw subquery outside the per-tenant WHERE guard, exfiltrating other organizations' analytics data.","summary":"Trigger.dev before 4.5.6 concatenates window-function names into generated ClickHouse SQL without allowlisting or escaping. An authenticated customer can send a backtick-quoted identifier to the query API and read other organizations' analytics data.","severity":"high","cvss":8.3,"epss":0.00276,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["clickhouse","multi-tenant","package","self-hosted","trigger.dev"],"not_affected_if":["single-tenant-trusted-users"],"how_to_check":"- Check the installed Trigger.dev version: `unknown` for the exact package name and lockfile path, but confirm whether the version is below `4.5.6`\n- Check whether the POST /api/v1/query endpoint is reachable by customer accounts on your deployment","fix":"- Upgrade Trigger.dev to `4.5.6` or later\n- Until upgraded, restrict access to the query endpoint: unknown for a specific workaround in the sources","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.7,"triage":{"at":"2026-10-25T03:02:15Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Trigger.dev to `4.5.6` or later\n- Until upgraded, restrict access to the query endpoint: unknown for a specific workaround in the sources","reach":"internet","title":"Trigger.dev: SQL injection in query compiler exposes other tenants' data","impact":"medium","summary":"Trigger.dev before 4.5.6 concatenates window-function names into generated ClickHouse SQL without allowlisting or escaping. An authenticated customer can send a backtick-quoted identifier to the query API and read other organizations' analytics data.","category":"package","nicknames":[],"who_cares":["trigger.dev","self-hosted","multi-tenant","clickhouse"],"confidence":0.7,"needs_auth":"yes","worst_case":"Authenticated customer reads other organizations' analytics data","analyst_note":"Confirm the affected package name, whether a hosted-service fix was applied, and any workaround for the query endpoint at https://nvd.nist.gov/vuln/detail/CVE-2026-114081","how_to_check":"- Check the installed Trigger.dev version: `unknown` for the exact package name and lockfile path, but confirm whether the version is below `4.5.6`\n- Check whether the POST /api/v1/query endpoint is reachable by customer accounts on your deployment","needs_analyst":true,"not_affected_if":["single-tenant-trusted-users"],"who_is_affected":"Self-hosted or multi-tenant deployments of Trigger.dev before 4.5.6 where customers hold authenticated accounts that can call the TSQL query API. Single-tenant installs where every user is trusted are less exposed, but the sources do not say how far that reduces risk.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000654,"input_tokens":3406,"output_tokens":626,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-114081':13A,16A '-2026':12A,15A '/api/v1/query':100C '4.5.6':28B,64C 'allowlist':39B,86C 'analyt':60B,116C 'api':55B 'authent':43B,89C 'backtick':49B,95C 'backtick-quot':48B,94C 'clickhous':17B,36B,83C 'compil':6A,74C 'concaten':29B,76C 'contain':65C 'custom':44B,90C 'cve':11A,14A 'data':10A,61B,117C 'escap':41B,88C 'exfiltr':113C 'expos':7A 'function':32B,79C 'generat':35B,82C 'guard':112C 'host':24B 'identifi':51B,97C 'inject':3A,68C,102C 'multi':19B 'multi-ten':18B 'name':33B,80C 'organ':59B,115C 'outsid':106C 'packag':21B 'per':109C 'per-ten':108C 'post':99C 'queri':5A,54B,73C 'quot':50B,96C 'raw':104C 'read':57B 'self':23B 'self-host':22B 'send':46B 'sql':2A,37B,67C,84C 'submit':92C 'subqueri':105C 'tenant':9A,20B,110C 'trigger.dev':1A,25B,26B,62C 'tsql':72C 'vulner':69C 'window':31B,78C 'window-funct':30B,77C 'without':38B,85C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted or multi-tenant deployments of Trigger.dev before 4.5.6 where customers hold authenticated accounts that can call the TSQL query API. Single-tenant installs where every user is trusted are less exposed, but the sources do not say how far that reduces risk.","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-114081","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114081","severity":null,"published_at":"2026-10-21T01:17:32+00:00","modified_at":"2026-10-21T01:17:32+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-114081","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114081","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"}