CVE-2026-69128chartbrew path traversal
CVE-2026-69128 is a path traversal in chartbrew, rated medium (4.6 on CVSS 4.0).
Why this priority: Medium severity, with no exploitation signal.
Published · Updated · NVD status: Deferred
What it is
A file name from the request can climb out of the intended folder with sequences like ../, reaching files the service never meant to expose. A list of forbidden inputs misses some, so a variant gets through.
How it is reached
An attacker can exploit it over the network, with an administrator account, and nobody has to click anything. Success also depends on conditions the attacker does not fully control.
What an attacker gains
The scored direct impact on the component itself is low. In practice, this kind of flaw lets an attacker read or write files outside the folders the service meant to expose. The damage can spread past the vulnerable component into others.
Is it being exploited?
CISA's SSVC assessment notes a public proof of concept.
What to do
- Upgrade chartbrew to 5.2.3 or later.
- Until it is patched, review who holds accounts that can reach it.
Description from NVD
Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. In 5.2.2, the AI SQL blocklist omitted sibling PostgreSQL filesystem functions and failed to match double-quoted identifier forms of denied functions. The vulnerable surface is the AI query tool's PostgreSQL SQL-validation blocklist. A team Owner or Admin uses an AI-enabled PostgreSQL connection whose database role can call server-side file functions and causes generated SQL to use an unlisted sibling function or a double-quoted denied function. Unlisted sibling functions remain allowed, and double-quoted function identifiers bypass the denylist regular expressions and reach PostgreSQL. AI features must be enabled and the user must have elevated Chartbrew privileges. A PostgreSQL superuser or pg_read_server_files role can resolve absolute paths to files readable by the PostgreSQL OS user, while a non-superuser is limited to the source-stated PGDATA-relative scope. This vulnerability is fixed in 5.2.3.
What this means for your architecture.
A CVE names a product. Whether it matters depends on where that product sits in your systems: what reaches it, which trust boundary it guards and what it can reach once compromised. Veriom maps your components, their relationships and your trust boundaries from your code, cloud and delivery evidence, so you can see where a component like this sits. The radar itself does not look at your systems.
Components it touches
- File storage the service can read or write. The flaw sits between the application and the file system it can reach.
- Interfaces that accept external input. The flaw sits at the input boundary of the affected component.
Trust boundaries in play
- Authenticated network access. An account is needed, so exposure follows who can sign in: customers, partners or staff.
- Isolation between components. The impact crosses out of the vulnerable component into others it should be isolated from.
- Between the application and the file system it can reach. An attacker who crosses it can read or write files outside the folders the service meant to expose.
- At the input boundary of the affected component. An attacker who crosses it can drive the component into behaviour its authors did not intend.
Questions to answer about your own systems
- Where does chartbrew run in your systems, and at which version?
- Which of those instances can be reached from the internet or partner networks?
- What can it reach once compromised: which data stores, secrets and services?
Sources
- CVE records and CVSS scores from the NVD CVE API. This product uses the NVD API but is not endorsed or certified by the NVD.
- Exploitation status from CISA’s Known Exploited Vulnerabilities catalog.
- Exploit likelihood from FIRST’s Exploit Prediction Scoring System (EPSS), refreshed daily.
- Explanations are written by Veriom from fixed templates over each record’s data, not by a person reviewing each CVE. Descriptions are quoted from the records as published.