„`html
Zusammenfassung
Eine kritische Sicherheitslücke in grav-plugin-api vor Version 1.0.15 ermöglicht Server-Side Template Injection (SSTI) durch unzureichende Validierung von Twig-Inhalten. Authentifizierte Angreifer mit der Berechtigung api.pages.write können manipulierte Seiten persistent speichern und beliebigen Code auf dem Server ausführen.
Betroffene Systeme
Betroffen sind alle Installationen von grav-plugin-api in Versionen vor 1.0.15. Das Plugin wird in Grav CMS-Umgebungen eingesetzt und verarbeitet API-Anfragen zum Verwalten von Seiteninhalten. Systeme mit aktiver Twig-Template-Verarbeitung sind besonders gefährdet.
Technische Details
Die Schwachstelle liegt im translate()-Endpoint des Plugins. Der Endpoint validiert Twig-Template-Syntax in den Parametern header und content nicht ausreichend. Angreifer können Twig-Expressions wie {{ process.twig }} in die Seiteninhalte injizieren.
Beim Rendering der Seite werden diese Expressions evaluiert und ermöglichen die Ausführung von PHP-Code mit den Berechtigungen des Webserver-Prozesses. Dies führt zu:
- Unautorisierte CodeausfĂĽhrung
- Dateioffenlegung und -manipulation
- SystembefehlsausfĂĽhrung
- Laterale Bewegung im Netzwerk
Empfohlene Massnahmen
Sofortig: Grav-Plugin-API auf Version 1.0.15 oder höher aktualisieren. Falls ein Patch nicht verfügbar ist, API-Zugriff auf vertrauenswürdige IP-Adressen beschränken und Berechtigungen auf notwendige Nutzer reduzieren.
Konfiguration: Twig-Template-Processing in der Grav-Konfiguration deaktivieren, wenn nicht zwingend erforderlich. API-Requests auf HTTPS und Strong Authentication beschränken.
Monitoring: Logs auf verdächtige API-Anfragen mit Twig-Syntax überwachen. Dateisystem-Änderungen in kritischen Verzeichnissen tracken.
Bewertung
Mit einem CVSS-Score von 8.1 (High) stellt diese Lücke ein erhebliches Risiko dar. Die Kombination aus Authentifizierungsbedarf und kritischen Auswirkungen erfordert prioritäre Behebung. Organisationen sollten eine zeitnahe Patch-Deployment-Strategie implementieren.
„`