← Back to search

CVE-2026-85712

8.8 HIGHpublic exploit available

Published 2026-11-06 · Updated 2026-11-09

AI risk analysis

Summary
Chartbrew prior to 5.2.3 allowed authenticated team owners/admins to reassign victim projects to their own team by submitting a malicious team_id in the request body, bypassing ownership validation due to mass assignment and flawed authorization checks. This enabled full unauthorized access, public exposure, password removal, or deletion of any project the attacker knew the ID of.
Exploitability
Exploitation requires a valid Chartbrew account with owner or admin privileges on the attacker's own team (granted by default self-signup) and knowledge of a victim project's identifier; no external access or special tools are needed.
Blast radius
Successful exploitation allows attackers to seize control of any shared or private project in the instance, leading to data exposure, unauthorized modifications, or complete loss of projects belonging to other teams.
Detection
Defenders should monitor authentication and project update logs for requests where the authenticated user's team_id does not match the team_id associated with the target project in the database; specifically, look for successful PATCH/PUT requests to /api/projects/:id endpoints where the request body includes a team_id field different from the project's original team and results in ownership transfer.
Prioritized remediation
Upgrade to Chartbrew version 5.2.3 or later, which patches the mass assignment vulnerability and enforces strict ownership validation for project ownership transfers.
auth-bypassmass-assignmentauthorization-flawweb-appcross-tenant

Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.

NVD description

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, the shared project permission check trusted a caller-controlled team_id and let the teamOwner/teamAdmin branch continue without confirming that the target project belonged to that team. The vulnerable surface is project routes and related authorization checks that accepted user-controlled project identifiers. An authenticated user who is an owner or admin of their own team submits a victim project id together with the attacker's own team_id in the request body; default self-signup grants the required role on the user's own team. Authorization is evaluated against the attacker-selected team instead of the target project's team, and the update path mass-assigns the request body without a project field allow-list. The attacker needs a valid Chartbrew account, an owner or admin role on their own team, and a victim project identifier; requests without the body team_id trick are rejected. The attacker can re-parent the victim project into their own team, gain full read and write access, expose it publicly, remove password protection, and cause the victim to lose it; the shared delete route also permits cross-tenant deletion. This issue is fixed in version 5.2.3.

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Weaknesses

CWE-639

Public exploit & PoC references

All references

Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.

Related CVEs

Related by shared AI tags and CWE weakness class. Browse the full archive.