Skip to main content

OpenPanel CVE-2026-116815

| EUVDEUVD-2026-110523 MEDIUM
Improper Encoding or Escaping of Output (CWE-116)
2026-10-26 VulnCheck GHSA-p3rg-2cmw-54f4
5.3
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 member (read access)
  2. Delivery
    Craft events[].name with backslash-quote
  3. Exploit
    Submit to chart.sankey procedure
  4. Execution
    Terminate ClickHouse string literal early
  5. Impact
    Query fails with parse error, Sankey chart disabled

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding for downstream
Exploitation Conditions

Requires an authenticated account that is a member of a project with at least read access - enforceAccess only requires 'read' for the chart.sankey query (PR:L). The attacker supplies a crafted events[].name value containing a backslash followed by a quote to the chart.sankey protectedProcedure, which flows unvalidated into the hand-rolled replace(/'/g, "''") escape in sankey.service.ts. Limiting factors: exploitation needs valid project membership (not remote-unauthenticated); impact is confined to breaking the Sankey chart endpoint for that one project (self-inflicted denial of a feature the attacker can already view); there is no confidentiality or integrity effect and no cross-tenant reach; and it is fixed in OpenPanel 3.0.0.

Impact

This is a genuine but low-impact availability flaw, not a high-priority emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) with impact limited to VA:L and VC:N/VI:N correctly captures the mechanism: an authenticated project member can break one chart endpoint, with no confidentiality or integrity impact. The reported score of 5.3 (medium) slightly overstates it - the reporting researcher (VulnCheck) explicitly rates it Low and demonstrates, with measured ClickHouse 24.8 tests, that the escaping defect cannot be escalated to SQL injection or cross-tenant reads because quote parity always leaves a dangling quote that forces a parse error. EPSS is low (0.23%, 14th percentile), consistent with a self-limiting denial of one feature rather than a widely attractive exploit. KEV status is not listed (treat as not actively exploited), and the vuln.today decision label is 'this_month' - a patch-in-routine-cycle priority, not act_now/emergency. The one signal worth stating plainly: the input Tags label this 'Information Disclosure', which directly contradicts the advisory - there is no disclosure, only availability loss of the Sankey chart. Bottom line: real, confirmed, but low urgency; prioritize on the normal monthly patch cycle.

Exploit ScenarioDerived

An authenticated member of any project (read access suffices) submits a report definition to the chart.sankey tRPC procedure containing an events[].name value with a backslash-escaped quote (e.g. containing \'). The hand-rolled escape doubles quotes but not backslashes, so the ClickHouse string literal terminates early and the query fails to parse, returning Code: 62 syntax errors and disabling that project's Sankey chart endpoint. A public PoC reference exists in the GHSA advisory with measured payloads; it is verified as causing the parse-error denial but the researcher confirms it could not be turned into a working injection.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

Improper escaping in OpenPanel's sankey.service.ts lets any authenticated member of a project - read access alone is sufficient - supply an events[].name value containing a backslash to the chart.sankey procedure and break out of the ClickHouse string literal, producing a parse error that takes the project's Sankey chart endpoint offline. The flaw affects OpenPanel releases before 3.0.0 and is a self-contained availability issue: only the one chart feature the attacker can already read is disrupted, with no confidentiality or integrity impact and no cross-tenant reach. The reporter could break the literal but not convert it into a working injection, so the practical effect is denial of a single feature; EPSS is only 0.23% (14th percentile), the issue is not in CISA KEV, and no confirmed exploitation has been reported. Authentication requirements are confirmed as low-privileged (PR:L in the CVSS vector). Vendor-released patch: 3.0.0.

RemediationAI

Upgrade to OpenPanel 3.0.0, the vendor-released fixed version; the upstream fix replaces all eight hand-rolled name.replace(/'/g, "''") calls in packages/db/src/services/sankey.service.ts with sqlstring.escape, which escapes backslashes as well as quotes, and applies the same change to the .map((e) => ...) filter construction at lines 61 and 67. The reporter suggests a regression guard, grep -rn "replace(/'/g" packages/db/src returning no results, and the same helper substitution should be applied to the two development scripts (find-duplicate-events.ts:127, check-sessions.ts:154). No interim workaround is described in the advisory; the exposure-limiting factor is that exploitation requires authenticated membership of the affected project with only read privilege, so tightening project membership to trusted users reduces the attacker pool but does not remove the defect - only the upgrade does. Consult https://github.com/Openpanel-dev/openpanel/security/advisories/GHSA-gvr5-22f4-pj6g for the vendor's authoritative guidance.

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

The root cause is CWE-116 (improper encoding or escaping of output) in packages/db/src/services/sankey.service.ts, the single file in packages/db/src that hand-escapes values for ClickHouse instead of using the package's standard sqlstring.escape helper (which is used at roughly 260 other call sites). The hand-rolled approach is name.replace(/'/g, "''") in eight places (lines 61, 67, 105, 114, 127, 128, 175, 176), and quote-doubling alone is insufficient for ClickHouse because ClickHouse also honours backslash escapes inside single-quoted strings - the reporter measured on ClickHouse 24.8.14.39 that length('a\'b') is 3 and that 'a\'b' equals 'a''b', confirming that a backslash-quote pair is consumed as a single escaped quote character. Supplying an event name containing \' therefore closes the literal one quote earlier than the template intended. The vulnerable data path is the chart.sankey tRPC protectedProcedure (packages/trpc/src/routers/chart.ts:603), which accepts a zReportInput report definition including events[].name; that value flows unvalidated into sankeyService.getSankey() and through buildEventNameFilter into the hand-written literals, with no backslash stripping anywhere on the way. The reporter is explicit that this is not a demonstrated SQL injection: every attacker-supplied single quote is still doubled, so quote parity can never be made odd, and both payload shapes tested (comment-terminated arrayExists and the IN ('a', 'b') list) terminate in ClickHouse Code 62 syntax errors. The conclusion would only change on a call path with different quote parity, such as a multi-line query or a context supplying a trailing quote; no such path is documented. The sibling advisories GHSA-hwf2-2v2h-7892 and GHSA-cc5p-97vc-8fwv are referenced as the class this would become if such a path were found.

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 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable tRPC procedure, low complexity, but requires authenticated project read access (PR:L); impact is only loss of availability of one chart endpoint, so C:N/I:N/A:L.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 27, 2026 - 01:15 EUVD

DescriptionCVE.org

OpenPanel before 3.0.0 contains an improper escaping vulnerability in sankey.service.ts that allows authenticated project members to break ClickHouse string literals by supplying backslashes in event names. Attackers with read access can submit crafted events[].name values to the chart.sankey procedure, causing ClickHouse parse errors that disable the project's Sankey chart endpoint.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche open-source self-hosted web analytics platform, limited enterprise footprint
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
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