Craft CMS anfällig für Behavior Injection RCE über EntryTypesController
Plattform
php
Komponente
craftcms/cms
Behoben in
5.9.11
Der Fix für GHSA-7jx7-3846-m7w7 (Commit 395c64f0b80b507be1c862a2ec942eaacb353748) hat nur `src/services/Fields.php` gepatcht, aber das gleiche anfällige Muster existiert in `EntryTypesController::actionApplyOverrideSettings()`. In `src/controllers/EntryTypesController.php` Zeilen 381-387: ```php $settingsStr = $this->request->getBodyParam('settings'); parse_str($settingsStr, $postedSettings); $settingsNamespace = $this->request->getRequiredBodyParam('settingsNamespace'); $settings = array_filter(ArrayHelper::getValue($postedSettings, $settingsNamespace, [])); if (!empty($settings)) { Craft::configure($entryType, $settings); ``` Das `$settings` Array von `parse_str` wird direkt an `Craft::configure()` übergeben, ohne `Component::cleanseConfig()`. Dies ermöglicht das Injizieren von Yii2 Behavior/Event Handlern über `as ` oder `on ` vorangestellte Keys, der gleiche Angriffsvektor wie im ursprünglichen Advisory. Sie benötigen Craft Control Panel Administrator Berechtigungen, und `allowAdminChanges` muss aktiviert sein, damit dies funktioniert. Ein Angreifer kann die gleiche Gadget Chain aus dem ursprünglichen Advisory verwenden, um RCE zu erreichen. Benutzer sollten auf Craft 5.9.11 aktualisieren, um das Problem zu beheben.
So beheben
Kein offizieller Patch verfügbar. Prüfe auf Workarounds oder überwache auf Updates.
Abhängigkeiten automatisch überwachen
Werde benachrichtigt, wenn neue Schwachstellen deine Projekte betreffen. Für immer kostenlos.
Kostenlos starten