„`html
Zusammenfassung
CVE-2026-77769 ist eine Authentifizierungs- und Autorisierungslücke mittlerer Schwere (CVSS 6.5), die in der report.list-Prozedur eines TRPC-Routers identifiziert wurde. Die Vulnerability ermöglicht es authentifizierten Benutzern, Berichte aus Dashboards anderer Organisationen abzurufen, indem sie eine Kombination aus ihrer eigenen projectId und einer fremden dashboardId verwenden.
Betroffene Systeme
Die Sicherheitslücke betrifft verschiedene Systeme mit den folgenden verwundbaren Komponenten:
- packages/trpc/src/routers/report.ts (report.list Prozedur)
- packages/trpc/src/trpc.ts (enforceAccess Middleware)
- packages/db/src/services/reports.service.ts (getReportsByDashboardId Funktion)
Technische Details
Angriffsmechanismus: Die report.list Prozedur akzeptiert zwei Parameter: projectId und dashboardId. Die enforceAccess Middleware validiert lediglich die Mitgliedschaft des Benutzers für die angegebene projectId. Sie verifiziert jedoch nicht, ob die dashboardId tatsächlich zu diesem Projekt gehört.
Die getReportsByDashboardId-Funktion führt anschließend eine Datenbankabfrage durch, die ausschließlich nach dashboardId filtert, ohne eine Projektvalidierung durchzuführen. Dies ermöglicht es einem Angreifer, die projectId seiner eigenen Organisation zu verwenden (um die Middleware zu passieren) und gleichzeitig eine dashboardId aus einer anderen Organisation zu kombinieren.
Folge: Der Angreifer erhält vollständigen Zugriff auf alle Berichte des fremden Dashboards und kann dadurch sensible Daten auslesen.
Paradoxie: Eine korrekt implementierte Hilfsfunktion namens listReportsCore existiert bereits in derselben Service-Datei. Diese Funktion nutzt getDashboardById(dashboardId, projectId) zur korrekten Projektvalidierung, wurde aber vom Router nicht verwendet.
Empfohlene Massnahmen
- Refaktorierung der report.list Prozedur zur Verwendung von listReportsCore statt getReportsByDashboardId
- Implementierung von Projektvalidierung bei allen Dashboard-Operationen
- Code-Review aller ähnlichen Router-Prozeduren auf fehlende Scope-Validierung
- Durchführung von Penetrationstests zur Verifizierung der Fixes
Bewertung
Schweregrad: Medium (CVSS 6.5) | Angriffsvektor: Network | Patch-Status: Nicht verfügbar
Die fehlende Verifikation des dashboardId-Scopes stellt ein erhebliches Sicherheitsrisiko dar und erfordert sofortige Remediation durch die Anwendung korrekter Autorisierungsmechanismen.
„`