„`html
Zusammenfassung
Eine kritische Remote Code Execution (RCE) Sicherheitslücke wurde in BookStack vor Version 26.05.4 identifiziert. Die Schwachstelle ermöglicht es Benutzern mit Import- und Erstellungsrechten, PHP-Polyglot-Dateien über die ZIP-Import-Funktionalität hochzuladen und auszuführen. Das Risiko liegt in der unzureichenden Validierung von Dateierweiterungen beim Speichern von Book-Covern im öffentlich zugänglichen Verzeichnis.
Betroffene Systeme
Betroffen ist BookStack in Versionen vor 26.05.4. Besonders gefährdet sind Installationen, bei denen Benutzer mit der Permission „Import Content“ und „Create Books“ arbeiten. Die SicherheitslĂĽcke ist netzwerkseitig ausnutzbar und erfordert authentifizierte Benutzerrechte als Auslöser, nicht jedoch fĂĽr die AusfĂĽhrung selbst.
Technische Details
Die Vulnerability existiert in der ZIP-Import-Funktion von BookStack. Angreifer können PHP-Dateien mit doppelter Dateiendung oder Polyglot-Technik in ZIP-Archive einbetten. Diese werden als Book-Cover interpretiert, jedoch mit der ursprünglichen .php-Erweiterung im öffentlichen Webroot (z.B. /public/uploads/) gespeichert. Die Extension-Validierung prüft nur den sichtbaren Dateinamen, nicht jedoch den tatsächlichen Inhalt oder sekundäre Dateinamen in komprimierten Archiven.
Da die hochgeladenen Dateien im öffentlichen Verzeichnis landen, kann jede unauthentifizierte Person die gespeicherte PHP-Datei direkt über HTTP aufrufen. Der Webserver führt die PHP-Datei aus, wodurch Code-Ausführung auf dem Server erfolgt.
Empfohlene Massnahmen
- Sofortige Aktualisierung auf BookStack 26.05.4 oder später
- Einschränkung der Import- und Book-Erstellungsrechte auf vertrauenswürdige Benutzer
- Konfiguration des Webservers, um PHP-AusfĂĽhrung in Upload-Verzeichnissen zu deaktivieren
- Implementierung von MIME-Type-Validierung auf Dateiebene
- Regelmäßige Überprüfung des /public/uploads/ Verzeichnisses auf verdächtige PHP-Dateien
- Aktivierung von Security-Logging fĂĽr Import-Operationen
Bewertung
CVSS Score: 8.8 (High)
Die hohe Bewertung ist gerechtfertigt durch die Kombination aus: Network-Angriffsvektor, geringe Komplexität, Bedarf für authentifizierte User-Interaction, aber anschließend unauthentifizierte RCE-Ausführung. Derzeit ist kein Patch dokumentiert.
„`