„`html
Zusammenfassung
HashBrown CMS in den Versionen bis 1.4.6 weist eine kritische OS Command Injection Schwachstelle (CWE-78) in der Thumbnail-Generierungsroutine auf. Die Vulnerability ermöglicht authentifizierten Benutzern mit Media-Ressourcen-Berechtigung die Ausführung beliebiger Betriebssystem-Befehle im Kontext des Node.js-Prozesses.
Betroffene Systeme
HashBrown CMS Version 1.4.6 und frĂĽhere Versionen sind von dieser Schwachstelle betroffen. Das Content Management System wird in verschiedenen Umgebungen und Installationen eingesetzt.
Technische Details
Die Vulnerability liegt in der Media.generateThumbnail()-Funktion in src/Server/Entity/Resource/Media.js. Der kritische Fehler entsteht durch folgende Verkettung:
- Die Thumbnail-Generierung konstruiert einen temporären Dateipfad mit dem Pattern:
'thumbnail' + Path.extname(filename) - Dieser Pfad wird unescaped in einen Shell-Befehl ĂĽbergeben:
'convert ' + tempFile + ... - Der Befehl wird mittels
AppService.exec()ausgefĂĽhrt
Die MIME-Type-Validierung in getMIMEType() (src/Common/utilities.js) kĂĽrzt die Dateierweiterung beim ersten ‚?‘-Zeichen ab, während Path.extname() dies nicht tut. Dies ermöglicht einen Bypass: Ein Dateiname wie 'x.jpg?$(command)' passiert die Image-Type-PrĂĽfung, während die Shell-Command-Substitution $(command) in den exec()-Aufruf injiziert wird.
Empfohlene Massnahmen
- Sofortige Aktualisierung auf HashBrown CMS 1.4.7 oder höher durchführen
- Zugriff auf die Media-Upload-Funktionalität beschränken
- Benutzereingaben vollständig validieren und sanitieren
- Shell-Befehle mit escapeerten Parametern ausfĂĽhren oder Alternative APIs verwenden
- Monitoring auf verdächtige Upload-Aktivitäten intensivieren
Bewertung
CVSS v3.1 Score: 8.8 (High)
Angriffsvektor: Netzwerk (Network)
Authentifizierung: Erforderlich (Low Privilege)
Die Schwachstelle erfordert authentifizierten Zugriff, ermöglicht aber vollständige Systemkompromittierung durch RCE-Ausnutzung.
„`