---
id: "CVE-2026-85295"
page: "https://infrastack.ai/live/CVE-2026-85295"
kind: "vulnerability"
aliases: ["CVE-2026-85295"]
title: "Chartbrew: forged session tokens let attackers impersonate any user"
severity: "critical"
cvss: 9.8
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["chartbrew", "docker-compose", "node", "package", "self-hosted"]
not_affected_if: ["cb-secret-undefined", "managed-hosting", "strong-cb-secret"]
published_at: "2026-11-06T21:17:10+00:00"
first_seen_at: "2026-11-06T21:45:08+00:00"
updated_at: "2026-11-06T21:46:26+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85295", "first_seen_at": "2026-11-06T21:45:08+00:00"}]
exploit_sources: []
---

# Chartbrew: forged session tokens let attackers impersonate any user

Link for people: https://infrastack.ai/live/CVE-2026-85295 (this .md is for agents)

Chartbrew, a self-hosted charting web app, accepts session tokens signed with a CB_SECRET that is often a known or default value in stock Docker Compose installs. An attacker who knows that secret can forge an HS256 token for any user id and act as that user, without their password or two-factor code.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the Chartbrew version in the deployment; affected builds are before `5.2.3`.
- Inspect the `CB_SECRET` environment variable in the Docker Compose or server config; a stock, repository-default, or weak value means exposure.
- A bare container where `CB_SECRET` is undefined is not affected by this fallback path, per the description.

## Fix

- Chartbrew: upgrade to `5.2.3`.

## Timeline

- 2026-11-06T21:45:08+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-85295

## Documents

- [advisory] Vendor advisory: github.com https://github.com/chartbrew/chartbrew/security/advisories/GHSA-qvv4-r3q6-8797
- [fix] Patch: github.com https://github.com/chartbrew/chartbrew/commit/da8c71f156aaa13fbc7ead15a4726740fef2b3c5
- [fix] Release notes: github.com https://github.com/chartbrew/chartbrew/releases/tag/v5.2.3

## From the sources

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, four authentication helpers accepted session tokens signed with CB_SECRET, including known, weak, or shipped-default values. The vulnerable surface is session JWT fallback in server/modules/verifyToken.js, verifyUser.js, getUserFromToken.js, and socketManager.js across the API and socket layer. A stock source or repository Docker Compose deployment retains a known, weak, or default CB_SECRET and an attacker submits a forged HS256 token decoding to a target user id. Knowing the symmetric secret lets the attacker create a token that the legacy verification fallback accepts as the target user without that user's password or two-factor authentication. The condition includes stock source and repository Docker Compose installs and any otherwise known or weak CB_SECRET; a bare container where CB_SECRET is undefined is not affected by this fallback path. A forged session impersonates the chosen user across the entire API and socket layer and exercises that user's Chartbrew privileges. This issue is fixed in version 5.2.3.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
