{"id":"CVE-2026-116812","kind":"vulnerability","aliases":["CVE-2026-116812"],"related":[],"title":"OpenPanel: SQL injection in cohort filters reads other tenants' analytics data","description":"OpenPanel before 3.0.0 contains a sql injection vulnerability in profileColumnAccess in cohort.service.ts that allows project-read members to inject SQL by supplying unescaped profile filter column names. Attackers can submit a cohort.preview filter whose name contains a subquery spliced into argMax, cityHash64, or comparison clauses to read other tenants' ClickHouse data.","summary":"OpenPanel before 3.0.0 does not escape profile filter column names in the cohort service, so SQL in a cohort.preview filter is executed. An attacker with project-read access can use this to read other tenants' ClickHouse data.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["clickhouse","multi-tenant","openpanel","other","self-hosted"],"not_affected_if":["no-project-read-members","version-3.0.0-or-later"],"how_to_check":"- Check the installed OpenPanel version; builds before `3.0.0` are affected.\n- Review which accounts hold project-read membership, since that role is required to reach the flaw.","fix":"- Upgrade OpenPanel to `3.0.0` or later.\n- Rotate any ClickHouse credentials the instance uses if cross-tenant access is suspected (unknown whether the sources recommend this).","status":"open","published_at":"2026-10-27T00:17:14+00:00","first_seen_at":"2026-10-27T00:25:55+00:00","triaged_at":"2026-10-27T00:26:27+00:00","updated_at":"2026-10-27T00:26:27+00:00","category":"other","confidence":0.6,"triage":{"at":"2026-10-27T00:26:27Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade OpenPanel to `3.0.0` or later.\n- Rotate any ClickHouse credentials the instance uses if cross-tenant access is suspected (unknown whether the sources recommend this).","reach":"unknown","title":"OpenPanel: SQL injection in cohort filters reads other tenants' analytics data","impact":"high","summary":"OpenPanel before 3.0.0 does not escape profile filter column names in the cohort service, so SQL in a cohort.preview filter is executed. An attacker with project-read access can use this to read other tenants' ClickHouse data.","category":"other","nicknames":[],"who_cares":["openpanel","clickhouse","self-hosted","multi-tenant"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker reads other tenants' ClickHouse analytics data via injected SQL","analyst_note":"","how_to_check":"- Check the installed OpenPanel version; builds before `3.0.0` are affected.\n- Review which accounts hold project-read membership, since that role is required to reach the flaw.","needs_analyst":false,"not_affected_if":["version-3.0.0-or-later","no-project-read-members"],"who_is_affected":"Self-hosted or multi-tenant OpenPanel instances before 3.0.0 where users hold project-read membership can reach the cohort filter path. Single-tenant deployments with no untrusted project-read users have less exposure to the cross-tenant read.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000959,"input_tokens":3358,"output_tokens":1246,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116812':14A,17A '-2026':13A,16A '3.0.0':29B,67C 'access':55B 'allow':78C 'analyt':10A 'argmax':106C 'attack':50B,93C 'cityhash64':107C 'claus':110C 'clickhous':18B,63B,115C 'cohort':5A,39B 'cohort.preview':45B,97C 'cohort.service.ts':76C 'column':35B,91C 'comparison':109C 'contain':68C,101C 'cve':12A,15A 'data':11A,64B,116C 'escap':32B 'execut':48B 'filter':6A,34B,46B,90C,98C 'host':26B 'inject':3A,71C,84C 'member':82C 'multi':20B 'multi-ten':19B 'name':36B,92C,100C 'openpanel':1A,22B,27B,65C 'profil':33B,89C 'profilecolumnaccess':74C 'project':53B,80C 'project-read':52B,79C 'read':7A,54B,60B,81C,112C 'self':25B 'self-host':24B 'servic':40B 'splice':104C 'sql':2A,42B,70C,85C 'submit':95C 'subqueri':103C 'suppli':87C 'tenant':9A,21B,62B,114C 'unescap':88C 'use':57B 'vulner':72C 'whose':99C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted or multi-tenant OpenPanel instances before 3.0.0 where users hold project-read membership can reach the cohort filter path. Single-tenant deployments with no untrusted project-read users have less exposure to the cross-tenant read.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-27T00:17:14+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: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-116812","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116812","severity":null,"published_at":"2026-10-27T00:17:14+00:00","modified_at":"2026-10-27T00:17:14+00:00","first_seen_at":"2026-10-27T00:25:55+00:00","fetched_at":"2026-10-27T00:25: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"}