Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 25.08.2026 03:40

Unauthorized Deletion of Destination Folders During Forced Moves

CVSS –1 Quelle

Beschreibung

Wir haben ein Autorisierungsproblem in Craft CMS identifiziert, bei dem ein erzwungener Ordnerzug einen widersprüchlichen Zielordner ohne Ziellöschberechtigung löschen kann. ### Description Craft CMS `craft\\controllers\\AssetsController::actionMoveFolder()` unterstützt das Verschieben eines Asset-Ordners in einen Ziel-Elternordner. Wenn am Zielort bereits ein Ordner mit dem gleichen Namen existiert, kann die Aktion mit `force=true` aufgerufen werden, um das Ziel zu überschreiben. Die Berechtigungsprüfungen für diese Aktion erlauben: - `deleteAssets:` für den Ordner, der verschoben wird - `createFolders:` für den Ziel-Elternordner - `saveAssets:` für den Ziel-Elternordner Die Aktion erfordert keine `deleteAssets` für das Zielvolumen oder den Zielkonfliktordner. Wenn 'force=true' und ein Namenskonflikt vorhanden sind, löscht der Code den Zielordner, um den Konflikt zu lösen. ```php $this->requireVolumePermissionByFolder('deleteAssets', $folderToMove); $this->requireVolumePermissionByFolder('createFolders', $destinationFolder); $this->requireVolumePermissionByFolder('saveAssets', $destinationFolder); ``` [*src/controllers/AssetsController.php:L751-L753*](https://github.com/craftcms/cms/blob/5.x/src/controllers/AssetsController.php#L751-L753) Indexierte Zielkonflikte werden über den Assets-Service gelöscht: ```php $assets->deleteFoldersByIds($existingFolder->id); ``` [*src/controllers/AssetsController.php:L798-L798*](https://github.com/craftcms/cms/blob/5.x/src/controllers/AssetsController.php#L798-L798) Nicht indizierte Zielkonflikte werden direkt im Volumendateisystem gelöscht: ``php $targetVolume->deleteDirectory(rtrim($destinationFolder->path, '/') . '/'. $folderToMove->name); ``[*src/controllers/AssetsController.php:L815*](https://github.com/craftcms/cms/blob/5.x/src/controllers/AssetsController.php#L815) ### Impact Ein Benutzer, der Assets in einem Zielvolumen nicht löschen kann, kann immer noch einen Zielordner und dessen Inhalt löschen, indem er eine erzwungene Bewegung in einen widersprüchlichen Namen auslöst. Dies kann zu Assetverlusten, defekten Verweisen in Einträgen und Feldern führen, die auf gelöschte Assets hinweisen, und zu Betriebsstörungen. ## Referenzen https://github.com/craftcms/cms/commit/2c2579c7f1030872423f268d0c8b48377101961d

HerstellerPixel & Tonic
ProduktCraft CMS
ProduktfamilieKeine Angaben
Betroffene Versionen< 5.9.21, ≤ 4.17.14
Behobene Versionen5.9.21, 4.17.14

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.9.21, 4.17.14.

PrioritätGrün
EinordnungPlanbar behandeln und überwachen.

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.