Skip to main content

OpenPanel EUVDEUVD-2026-110520

| CVE-2026-116812 HIGH
SQL Injection (CWE-89)
2026-10-26 VulnCheck GHSA-gjrj-qcgp-p97f
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as project-read member
  2. Delivery
    Submit crafted cohort.preview filter with malicious column name
  3. Exploit
    Unescaped identifier spliced into argMax/cityHash64/HAVING
  4. Execution
    Correlated subquery bypasses outer project_id scope
  5. Impact
    Read other tenants' ClickHouse data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated OpenPanel account with at least project-read access to any project (PR:L); no write or admin role is needed. The attacker invokes the tRPC cohort.preview query (protectedProcedure, guarded only by READ on the top-level projectId) and supplies a cohort property filter whose 'name' field - which is a free-form z.string() with no allowlist - contains SQL in column-identifier context; using operator isNotNull with an empty value array even removes the need for a filter value. The deployment must use the ClickHouse analytics backend (the default) in a multi-tenant configuration for the cross-tenant read to have value. Limiting factors: a valid low-privileged account is mandatory (not exploitable pre-authentication), and the impact is confined to reading data, not modifying it. The affected sink (profileColumnAccess) is distinct from the separately-fixed profileColumnSql, which already enforces the PROFILE_COLUMNS allowlist.

Impact

This is a genuine but access-gated data-disclosure issue rather than a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the description agree: exploitation is network-reachable and low-complexity but requires an authenticated account - specifically a project-read member - so PR:L is confirmed, not inferred. Impact is confidentiality-only (VC:H, VI:N/VA:N): a cross-tenant ClickHouse read, with no integrity or availability effect. EPSS is low (0.23%, 14th percentile) and there is no CISA KEV listing, consistent with a flaw that needs valid credentials and crafted tooling rather than one seeing opportunistic mass exploitation. The vuln.today decision label is 'this_week', reflecting a real-but-not-critical priority. A detailed proof-of-concept filter is published in the GitHub Security Advisory, lowering the practical bar for a would-be attacker who already holds project-read access. One conflict must be flagged: the intelligence feed states 'Patch: Available from vendor' and EUVD implies a fix in 3.0.0, yet the GHSA source evidence explicitly says the fix is 'unreleased' / 'not yet patched' on HEAD - verify fix availability with the vendor before relying on an update.

Exploit ScenarioDerived

An attacker who holds (or obtains) a project-read membership on a multi-tenant OpenPanel instance calls the tRPC cohort.preview endpoint and submits a cohort filter whose column-name field contains an injected correlated subquery. Because the column identifier is spliced unescaped into argMax/cityHash64/comparison clauses and the subquery is not constrained by the outer project_id scope, the attacker reads another tenant's ClickHouse data. A public PoC reference exists in the GHSA advisory (an isNotNull filter with an embedded SELECT); it is not verified as working exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

SQL injection in OpenPanel's cohort preview query lets any user holding project-read access on any project read ClickHouse data belonging to other tenants; this is a genuine but access-gated data-disclosure issue rather than a drop-everything emergency. The flaw is confined to the ClickHouse analytics backend (the default) in multi-tenant deployments, requires a valid low-privileged account (authenticated, project READ only, no write or admin role), and affects OpenPanel versions before 3.0.0. Exploitation permits read-only cross-tenant disclosure with no integrity or availability impact, there is no CISA KEV listing, EPSS is low at 0.23% (14th percentile), and a public PoC reference exists in the vendor advisory (a cohort.preview payload using operator isNotNull with an empty value array); it is not verified as working exploit code. A vendor patch is available, and the source-level fix is to apply the PROFILE_COLUMNS allowlist to profileColumnAccess.

RemediationAI

Vendor-released patch: upgrade to OpenPanel 3.0.0 or later, the version boundary cited in the CVE record (affected range is everything before 3.0.0). Note that the upstream GHSA, as reported, described the fix as unreleased on HEAD 61a9245, so operators on a rolling deploy should confirm the deployed commit contains the fix and, if maintaining a fork, backport the maintainer-suggested change: apply the PROFILE_COLUMNS allowlist used by profileColumnSql to profileColumnAccess so any non-allowlisted column identifier is rejected rather than returned verbatim. Where upgrading cannot happen immediately, compensating controls are limited and carry trade-offs: restrict project-read membership to fully trusted users (removes the low-privilege attack path entirely but reduces collaboration), and separate tenants so that no ClickHouse instance holds data from mutually untrusted projects (eliminates the cross-tenant payoff but forfeits shared analytics). Applying the allowlist patch at source is the only complete fix; advisory: https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-gvwr-5684-wjqc.

Affected VersionsENISA

openpanel 0 <3.0.0

Affected Packages

euvd openpanel fix: 3.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-89 (SQL injection) in @openpanel/db cohort.service.ts: profileColumnAccess(name) escapes only the profiles.properties.<key> branch and returns every other name verbatim as a column identifier, with no allowlist. That unescaped identifier is spliced into argMax(${columnAccess}, ...), cityHash64(${referencedColumns}) and comparison/HAVING clauses while only the filter VALUE is passed through sqlstring.escape - the classic value-escaped-but-identifier-raw mistake. Reachability runs through the tRPC cohort.preview query (protectedProcedure guarded by enforceAccess requiring READ on the top-level projectId, with needsWrite=false) and the free-form zChartEventFilter.name = z.string(); flow continues preview → countCohort/computeCohort → computePropertyBasedCohort → buildPropertyBasedCohortQuery → chQuery. Because an attacker-authored subquery lands in identifier/HAVING position, the outer project_id WHERE clause does not constrain it, enabling cross-tenant reads against ClickHouse. Notably, this sink is distinct from the previously fixed GHSA-hwf2-2v2h-7892: filter-where.service.ts profileColumnSql enforces the PROFILE_COLUMNS allowlist, whereas profileColumnAccess has no equivalent check.

Know when Openpanel gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
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
vuln.today AI 6.5 MEDIUM

Network-reachable, low-complexity injection needing a project-read account (PR:L, UI:N); confidentiality-only cross-tenant read with no integrity or availability impact, so C:H/I:N/A:N.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 27, 2026 - 01:15 EUVD
CVE Published
Oct 26, 2026 - 23:05 cve.org
HIGH 7.1

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

CVE-2026-116812 is a high-severity SQL injection flaw in OpenPanel's cohort preview feature that allows any authenticated user with basic project-read permissions to access ClickHouse analytics data belonging to other tenants in multi-tenant deployments. This cross-tenant data disclosure affects organizations using OpenPanel versions before 3.0.0, potentially exposing sensitive analytics data to low-privileged users who should only see their own project's information. While access is gated and no active exploitation has been observed, customer trust and data confidentiality obligations make this a priority for remediation.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
self-hosted open-source product analytics platform, modest niche adoption
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2026-93985 CRITICAL POC
9.4 Sep 19

Code execution in OpenPanel's js-runtime component lets an authenticated user who holds project write access escape the

CVE-2025-25871 HIGH POC
8.0 Mar 14

An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated h

CVE-2025-25872 MEDIUM POC
5.5 Mar 14

An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated m

CVE-2025-25873 MEDIUM POC
5.5 Mar 14

Cross Site Request Forgery vulnerability in Open Panel OpenAdmin v.0.3.4 allows a remote attacker to escalate privileges

CVE-2026-85614 CRITICAL
9.2 Sep 04

Server-side request forgery in OpenPanel before 2.3.0 lets unauthenticated remote attackers coerce the panel server into

CVE-2026-116818 HIGH
8.8 Oct 26

Unauthenticated ClickHouse SQL injection in OpenPanel before 3.0.0 lets remote attackers read other tenants' analytics d

CVE-2026-116811 HIGH
8.7 Oct 26

Sandbox escape in OpenPanel's JavaScript webhook-template runtime (packages/js-runtime) allows an authenticated project

CVE-2026-85610 HIGH
8.7 Sep 04

Authenticated remote code execution in OpenPanel before 2.3.0 allows any project member with read access to escape the m

CVE-2026-88893 HIGH
8.7 Sep 10

Unauthenticated information disclosure in OpenPanel (openpanel-dev/openpanel) exposes argon2id password hashes and full

CVE-2026-85612 HIGH
8.7 Sep 04

Unauthenticated SSRF in OpenPanel before 2.3.0 exposes two utility endpoints - /misc/favicon and /misc/og - that blindly

CVE-2026-116808 HIGH
8.6 Oct 26

Cross-tenant data exposure in OpenPanel before 3.0.0 lets any authenticated user read other projects' profiles, events a

CVE-2026-116819 HIGH
8.4 Oct 26

Read-level project members in OpenPanel before 3.0.0 can retrieve plaintext integration secrets - Slack bot tokens, inco

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy