Chartbrew: SQL Injection via Missing Backslash Escaping in ClickHouse Variable Substitution
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- SQL injection
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-89.
Summary
Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to 5.2.3, Chartbrew's ClickHouse protocol in server/sources/plugins/clickhouse/clickhouse.protocol.js calls applySqlVariables() from server/sources/shared/sql/sql.variables.js without enabling the escapeBackslash option. For a ClickHouse-backed chart with variable binding, an attacker can supply a backslash before a quote so quote doubling does not keep the value within its intended SQL string literal. Public dashboards can expose this path without authentication, and successful exploitation can execute arbitrary ClickHouse SQL to disclose data or, when the database configuration permits, access files or internal network resources. This issue is fixed in version 5.2.3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA chartbrew (chartbrew) Fixed in 5.2.2
Timeline
- 2026-10-02 Threatist record created from CVE-2026-65980
References
More chartbrew vulnerabilities
- TI-2026-29337 Chartbrew: Missing Authorization in /api/chart/:chart_id/query via team-level refresh toggle CVSS 3.1HIGH 7.5
- TI-2026-29331 Chartbrew: Incorrect Access Control in public chart and export routes via missing onReport and SharePolicy checks CVSS 3.1HIGH 7.5
- TI-2026-29560 Chartbrew: Incorrect Access Control in dataset and dataRequest routes via team-scoped permission checks CVSS 3.1HIGH 8.1
- TI-2026-29336 Chartbrew: Incorrect Access Control in project share policy routes via unbound policy_id CVSS 3.1HIGH 8.1
- TI-2026-24781 Chartbrew Cross-Tenant Template Export and Secret Disclosure in `GET /team/:team_id/template/generate/:project_id` CVSS 3.1HIGH 7.7
- TI-2026-30101 Chartbrew has a stored DOM XSS via Chart Tooltip innerHTML (ChartDatasetConfig.legend) CVSS 3.1HIGH 7.6
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences