CVE-2026-77769 in Openpanel
Zusammenfassung
von VulDB • 21.08.2026
Die Prozedur `report.list` im Paket `packages/trpc/src/routers/report.ts` akzeptierte eine `projectId` und eine `dashboardId` und gab die Ergebnisse von `getReportsByDashboardId(dashboardId)` zurück. Die Middleware `enforceAccess` in `packages/trpc/src/trpc.ts` überprüfte zwar die Mitgliedschaft für die angegebene `projectId`, es wurde jedoch nicht überprüft, ob die angegebene `dashboardId` zu diesem Projekt gehört. In `getReportsByDashboardId` im Paket `packages/db/src/services/reports.service.ts` werden Berichte ausschließlich nach der `dashboardId` ausgewählt, ohne eine Projektscope-Einschränkung (Project Scoping). Ein authentifizierter Benutzer konnte daher eine `projectId` aus seiner eigenen Organisation, welche die Middleware erfüllt, mit einer `dashboardId`, die zu einer anderen Organisation gehört, kombinieren und sämtliche Berichte in diesem Dashboard abrufen. Eine korrekt skopierte Hilfsfunktion namens `listReportsCore` war bereits in derselben Dienstdatei vorhanden; diese löst das Dashboard über `getDashboardById(dashboardId, projectId)` auf, bevor sie die Berichte zurückgibt, doch der Router nutzte diese Funktion nicht.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.