Authorization Bypass in assets/move-asset
Beschreibung
Craft CMS hat keine Berechtigungsprüfung in `assets/move-asset`, wenn die Anforderung `force=1` enthält. Ein authentifizierter Systemsteuerungsbenutzer, der seine eigenen Assets in einem Volume verwalten kann, aber keine Berechtigungen für Peer-Assets hat, kann sein eigenes Asset mit einem widersprüchlichen Dateinamen in den Ordner eines anderen Benutzers verschieben. Wenn 'force=1' geliefert wird, führt Craft das in Konflikt stehende Zielobjekt zusammen/löscht, ohne zu prüfen, ob der Angreifer berechtigt ist, dieses Peer-Asset zu ändern oder zu löschen. Dies scheint mit der vorherigen erzwungenen Ordnerbewegungs-Beratungsklasse in Zusammenhang zu stehen, aber dieser Bericht zielt auf die separate "actionMoveAsset()" -Route in der neuesten öffentlichen Version ab. ## Auswirkungen Ein authentifizierter Benutzer mit niedrigem Privileg kann das Asset eines anderen Benutzers im gleichen Volume löschen und ersetzen, ohne über Peer-Asset-Berechtigungen zu verfügen. Dies kann dazu führen: - unbefugtes Löschen des Asset-Datensatzes eines anderen Benutzers - Ersetzen von Asset-Dateibytes durch angreifergesteuerten Inhalt - Integritätsverlust für Einträge oder Felder, die auf das Opfer-Asset verweisen - Verfügbarkeitsauswirkungen, wenn wichtige Assets entfernt oder ersetzt werden Bericht ID: 1517
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: 5.10.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.
- Administrative Zugänge besonders absichern: MFA, Passwortrotation, Session-Invalidierung.