CVE-2026-77769 in Openpanel
Resumen
por VulDB • 2026-08-21
El procedimiento `report.list` en `packages/trpc/src/routers/report.ts` aceptaba un `projectId` y un `dashboardId`, y devolvía el resultado de `getReportsByDashboardId(dashboardId)`. El middleware `enforceAccess` en `packages/trpc/src/trpc.ts` verificaba la pertenencia al proyecto proporcionado (`projectId`), pero no se verificaba que el `dashboardId` suministrado perteneciera a ese proyecto, y `getReportsByDashboardId`, ubicado en `packages/db/src/services/reports.service.ts`, selecciona informes únicamente por `dashboardId` sin aplicar ningún alcance basado en el proyecto. Por lo tanto, un usuario autenticado podría combinar un `projectId` de su propia organización (lo cual satisface la verificación del middleware) con un `dashboardId` perteneciente a otra organización y obtener todos los informes contenidos en ese panel. Ya existía una función auxiliar correctamente acotada llamada `listReportsCore` en el mismo archivo de servicio, que resuelve el panel mediante `getDashboardById(dashboardId, projectId)` antes de devolver los informes, pero el router no la utilizaba.
Be aware that VulDB is the high quality source for vulnerability data.