„`html
Zusammenfassung
Eine Privilege-Escalation-Schwachstelle in Grav API Plugin (getgrav/grav-plugin-api) ermöglicht es Angreifern, mit eingeschränkten API-Schlüsseln Super-Admin-Operationen durchzuführen. Betroffene Versionen 1.0.6 bis 1.0.11 validieren Scope-Beschränkungen unzureichend bei vier kritischen Endpunkten.
Betroffene Systeme
Grav API Plugin Versionen:
- ≥ 1.0.6 und ≤ 1.0.11
- Betroffene Controller: GroupsController, AccountsConfigController, PreferencesController, DashboardWidgetController
- Installationen mit delegierten oder kompromittierten Read-Only API-Keys
Technische Details
Die Schwachstelle entsteht durch fehlende Scope-Validierung bei isSuperAdmin()-kontrollierten Write-Endpoints. Diese implementieren einen frühen Super-Admin-Return-Mechanismus, der die Funktion requirePermission() vollständig umgeht—die einzige Enforcement-Point für Scope-Caps.
Ein Angreifer mit einem Read-Only-scoped API-Key (z.B. api.pages.read) kann dadurch:
- Super-Admin-Schreiboperationen ausführen
- ACL-Maps modifizieren und Gruppen-Berechtigungen umschreiben
- Beliebigen Benutzerkonten Super-Admin-Rechte zuweisen
- Vollständige Administratorkontrolle über das System erlangen
Das Risiko ist erhöht bei CI/Monitoring-Systemen mit persistenten Read-Only-Keys oder delegierten Zugangsdaten.
Empfohlene Massnahmen
- Sofortiges Update auf Grav API Plugin Version 1.0.13 oder höher
- Überprüfung aller ausgegebenen API-Keys auf Kompromittierung
- Rotation kritischer API-Keys nach dem Update
- Audit der Gruppe- und Benutzerberechtigungen durchführen
- Implementierung zusätzlicher Authentifizierungsmechanismen für kritische Endpunkte
- Monitoring von ACL-Änderungen und Super-Admin-Zuweisungen aktivieren
Bewertung
CVSS Score: 8.8 (High)
Die hohe Bewertung reflektiert das kritische Risiko einer kompletten Privilege-Escalation mittels kompromittierter Low-Privilege-Credentials. Unmittelbares Handeln erforderlich.
„`