CVE-2026-85712 Toma de control de proyectos entre inquilinos en Chartbrew vía body.team_id
La verificación de permisos de proyectos confiaba en un team_id controlado por el llamador y la rama teamOwner/teamAdmin continuaba sin confirmar que el proyecto perteneciera a ese equipo. Un usuario autenticado owner o admin de su propio equipo envía el id de un proyecto víctima junto con su team_id y la actualización aplica mass-assignment sin lista de campos permitidos. Corregido en la versión 5.2.3.
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,4 % · percentil 31
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
chartbrew
< 5.2.3
Qué hacer
- Verificá si usás chartbrew y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 8.8 ALTA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadAlta
- IntegridadAlta
- DisponibilidadAlta
Descripción original
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.
Referencias (3)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.