Forgeable share tokens in Chartbrew expose private chart data
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-347.
Summary
Chartbrew before 5.2.3 signs chart share and embed tokens with CB_SECRET, which is known or left at a shipped default in stock source and repository Docker Compose installs. An unauthenticated remote attacker who knows the secret can forge a Chart token for a private chart that has been shared at least once, because the verification does not reject the forged signature (CWE-347). The filter-access path accepts sequential integer ids, so the attacker can enumerate charts and read private chart data, including chartData, without a legitimate share link.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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, Chart share and embed tokens were signed with CB_SECRET, including known or shipped-default values in stock source and repository Docker Compose installs. The vulnerable surface is chart share-token verification and filter-access routes for private charts. An attacker who knows the deployment's CB_SECRET targets a private chart that has been shared at least once so a share-policy row exists, then forges a Chart-subject token for that chart id. The known signing key permits valid Chart tokens, and the filter-access path accepts sequential integer ids without requiring a legitimate share link; token expiry and revocation are ineffective once the secret is known. The condition requires a known or default secret and an existing share-policy row. A bare container where CB_SECRET is undefined is outside this path, and a unique secret excludes it only while the value remains unknown and unpredictable. An unauthenticated attacker can enumerate integer ids and read arbitrary private chart data, including chartData, without possessing a legitimate share link. This issue is fixed in version 5.2.3.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Chartbrew is fixed in version 5.2.3. The sources list no fixed version for any other Chartbrew release line.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA chartbrew (chartbrew) Fixed in 5.2.3
Timeline
- 2026-11-06 Threatist record created from CVE-2026-85708
- 2026-11-08 Priority changed: MEDIUM → LOW
References
More chartbrew vulnerabilities
- TI-2026-46993 Chartbrew: SQL Injection via Missing Backslash Escaping in ClickHouse Variable Substitution CVSS 4.0HIGH 7.9
- 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
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences