Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project member (read access)
-
DeliveryCraft events[].name with backslash-quote
-
ExploitSubmit to chart.sankey procedure
-
ExecutionTerminate ClickHouse string literal early
-
ImpactQuery 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Code execution in OpenPanel's js-runtime component lets an authenticated user who holds project write access escape the
An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated h
An issue in Open Panel v.0.3.4 allows a remote attacker to escalate privileges via the Fix Permissions function. Rated m
Cross Site Request Forgery vulnerability in Open Panel OpenAdmin v.0.3.4 allows a remote attacker to escalate privileges
Server-side request forgery in OpenPanel before 2.3.0 lets unauthenticated remote attackers coerce the panel server into
Unauthenticated ClickHouse SQL injection in OpenPanel before 3.0.0 lets remote attackers read other tenants' analytics d
Sandbox escape in OpenPanel's JavaScript webhook-template runtime (packages/js-runtime) allows an authenticated project
Authenticated remote code execution in OpenPanel before 2.3.0 allows any project member with read access to escape the m
Unauthenticated information disclosure in OpenPanel (openpanel-dev/openpanel) exposes argon2id password hashes and full
Unauthenticated SSRF in OpenPanel before 2.3.0 exposes two utility endpoints - /misc/favicon and /misc/og - that blindly
Cross-tenant data exposure in OpenPanel before 3.0.0 lets any authenticated user read other projects' profiles, events a
Read-level project members in OpenPanel before 3.0.0 can retrieve plaintext integration secrets - Slack bot tokens, inco
EUVD-2026-110523
GHSA-p3rg-2cmw-54f4
NVD
CVE.org
EPSS
Exploit-DB