„`html
Zusammenfassung
HashBrown CMS in der Version 1.4.6 und älter weist eine kritische OS Command Injection-Anfälligkeit (CWE-78) in der Git Deployer-Komponente auf. Die Schwachstelle ermöglicht es authentifizierten Benutzern, beliebige Befehle auf dem Server auszuführen, indem manipulierte Git-Branch-Werte in Deployer-Konfigurationen eingegeben werden.
Betroffene Systeme
HashBrown CMS Version 1.4.6 und ältere Versionen. Das Vulnerability-Management ist erforderlich für alle produktiven Installationen mit aktivierter Git Deployer-Funktionalität.
Technische Details
Die Anfälligkeit befindet sich in der Datei src/Server/Entity/Deployer/GitDeployer.js. Die Methode GitDeployer.pullRepo() führt den folgenden Code aus:
AppService.exec(`git checkout ${this.branch || 'master'}`)
Der Branch-Wert wird direkt in den Shell-Befehl interpoliert, ohne dass eine Escapesequenz erfolgt. Die Validierungsmethode GitDeployer.validate() filtert ausschließlich Einzelanführungszeichen, während Shell-Metazeichen wie Semikolons (;), logische Operatoren (&&, |), Backticks und Kommandosubstitution $() nicht gefiltert werden.
Ein Angreifer mit Zugriff auf Git Deployer-Konfigurationen kann einen manipulierten Branch-Wert wie master; rm -rf / setzen, der bei jeder Deployer-Operation (Upload, Content-Speicherung) automatisch ausgefĂĽhrt wird. Dies stellt eine erhebliche SicherheitslĂĽcke dar, da pullRepo() zu Beginn jeder Operation ungeprĂĽft aufgerufen wird.
Die Schwachstelle steht in Zusammenhang mit CVE-2020-6948, die jedoch nur Repository-, Benutzernamen- und Passwort-Felder adressierte, nicht jedoch das ungeschĂĽtzte Branch-Feld.
Empfohlene Massnahmen
- Sofortige Überprüfung aller Git Deployer-Konfigurationen auf verdächtige Branch-Werte
- Zugriffsbeschränkung auf Deployer-Einstellungen auf vertrauenswürdige Administratoren
- Aktualisierung auf eine gepatchte Version (wenn verfĂĽgbar)
- Implementierung von Web Application Firewalls zur Filterung verdächtiger Branch-Parameter
- Ausgabenprotokollierung aller Deployer-Operationen
Bewertung
CVSS Score: 8.8 (High)
Angriffsvektor: Network
Authentifizierung erforderlich: Ja
Status: Kein Patch verfĂĽgbar
„`