Path Traversal in AssetsController
Beschreibung
Die `AssetsController->replaceFile()`-Methode hat einen `targetFilename`-Körperparameter, der in einem `deleteFile()`-Aufruf unhygienisiert verwendet wird, bevor `Assets::prepareAssetName()` auf save angewendet wird. Dies ermöglicht einem authentifizierten Benutzer mit `replaceFiles`-Berechtigung, beliebige Dateien innerhalb derselben Dateisystemwurzel zu löschen, indem er `../`-Pfad-Traversal-Sequenzen in den Dateinamen einfügt. Dies könnte es einem authentifizierten Benutzer mit der Berechtigung "ReplaceFiles" auf einem Volume ermöglichen, Dateien in anderen Ordnern/Volumes zu löschen, die denselben Dateisystemstamm haben. Dies betrifft nur lokale Dateisysteme. Benutzer sollten auf Craft 4.17.5 oder 5.9.11 aktualisieren, um das Problem zu beheben. ## Referenzen https://github.com/craftcms/cms/commit/c997efbe4c66c14092714233aeebff15cdbfcf11
Quellen & weiterführende Informationen
Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.
Was ist zur Behebung zu tun?
Auf eine behobene Version aktualisieren: 4.17.5, 5.9.11.
Empfohlene Schritte
- Betroffene Systeme identifizieren: Pixel & Tonic Craft CMS.
- Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
- Update/Rollout auf behobene Version vorbereiten und priorisiert einspielen.
- Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.
Übergangsmaßnahmen
- Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
- WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
- Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.