„`html
Zusammenfassung
Die Sicherheitslücke CVE-2026-72825 betrifft das getgrav/grav-plugin-api Plugin in Versionen vor 1.0.13. Eine unzureichende Validierung der API-Key-Scopes ermöglicht es Angreifern mit eingeschränkten Berechtigungen, die Twig-Sandbox-Allowlist zu manipulieren und dadurch Server-Side Template Injection (SSTI) sowie Remote Code Execution (RCE) auszuführen.
Betroffene Systeme
Das Grav-Plugin-API Plugin betrifft verschiedene Systeme, die auf dieser Plugin-Version basieren. Besonders gefährdet sind Installationen, die API-Keys mit eingeschränkten Scopes (wie api.config.write) ausstellen. Die Schwachstelle hat einen CVSS-Score von 7.6 und wird als High-Severity klassifiziert.
Technische Details
Die Vulnerability liegt im POST-Endpoint /reports/twig-content/allowlist des ReportsController. Der Endpoint validiert zwar initial die Permission api.config.write, fĂĽhrt dann aber einen simplen isSuperAdmin()-Check durch statt des korrekten requireSuper()-Aufrufs.
Das kritische Problem: Die isSuperAdmin()-Methode liest access.api.super direkt aus der Benutzerkonfiguration aus und konsultiert niemals die api_key_scopes. Ein Angreifer mit einem API-Key, der auf api.config.write beschränkt ist und von einem Super-Admin-Konto ausgestellt wurde, kann diese Sicherheitsprüfung umgehen.
Durch diese Umgehung können Angreifer beliebige Tokens zur security.twig_sandbox allowlist hinzufügen. Diese Liste wird persistent in der Datei user/config/security.yaml gespeichert. Die erweiterte Allowlist ermöglicht es, dass jeder nachfolgende Twig-Render-Prozess mit Inhalten aus Benutzer-Input zum SSTI/RCE-Vektor wird.
Empfohlene Massnahmen
- Sofortige Aktualisierung auf Plugin-Version 1.0.13 oder höher durchführen
- API-Keys mit eingeschränkten Scopes überprüfen und neu ausstellen
- Konfigurationsdateien unter
user/config/security.yamlauf verdächtige Einträge überprüfen - Logs analysieren auf unbefugte API-Zugriffe auf den betroffenen Endpoint
- Least-Privilege-Prinzip bei API-Key-Vergabe strikt einhalten
Bewertung
CVSS 7.6 (High) – Diese Lücke ermöglicht Privilege-Escalation und Remote Code Execution und sollte mit hoher Priorität behoben werden. Systeme mit öffentlich erreichbaren APIs sollten als kritisch eingestuft werden.
„`