„`html
Zusammenfassung
CVE-2026-77768 beschreibt eine Authentifizierungs- und Zugriffskontroll-Schwachstelle in der report.get-Prozedur. Die Sicherheitslücke ermöglicht es authentifizierten Benutzern, die vollständige Konfiguration beliebiger gespeicherter Reports auszulesen, ohne über die erforderlichen Zugriffsberechtigung zu verfügen. Der Schweregrad wird mit Medium (CVSS 6.5) eingestuft.
Betroffene Systeme
Die Schwachstelle betrifft verschiedene Systeme mit betroffenen Komponenten in:
- packages/trpc/src/routers/report.ts
- packages/trpc/src/trpc.ts
- packages/db/src/services/reports.service.ts
Technische Details
Die Vulnerabilität liegt in der unzureichenden Zugriffskontrolle der report.get-Prozedur begründet. Das enforceAccess-Middleware evaluiert Mitgliedschaften nur bei Eingaben mit projectId oder organizationId-Schlüsseln. Da report.get ausschließlich eine reportId akzeptiert, umgeht die Eingabe die Zugriffsprüfung vollständig.
Die nachgelagerte Funktion getReportById in reports.service.ts fĂĽhrt eine findUnique-Abfrage ohne Project-Scoping durch. Dies erlaubt unauthentifizierten Lesezugriff auf sensible Report-Konfigurationen einschlieĂźlich:
- Owning Project ID
- Event Series
- Filter und Breakdowns
- Formulas
Bemerkenswert ist, dass die benachbarten Prozeduren (update, delete, duplicate) das Report zunächst auflösen und getProjectAccess gegen die Project ID des Reports prüfen. Die Sicherheitslücke ist daher spezifisch auf die get-Prozedur beschränkt.
Empfohlene Massnahmen
- Implementierung von Zugriffskontrolle in der report.get-Prozedur
- Report auflösen und
getProjectAccess-PrĂĽfung vor DatenrĂĽckgabe durchfĂĽhren - Konsistente Anwendung des Access-Control-Musters ĂĽber alle Report-Prozeduren
- Audit-Logs auf Zugriffe ĂĽberprĂĽfen
Bewertung
CVSS Score: 6.5 (Medium)
Angriffsvektor: Network
Authentifizierung erforderlich: Ja
Patch verfĂĽgbar: Nein
„`