Incomplete fix for GHSA-7jx7-3846-m7w7: Behavior injection RCE via EntryTypesController
Beschreibung
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); ``` The `$settings` array from `parse str` is direct to `Craft::configure()` without `Component::cleanseConfig()`. Dies ermöglicht das Einfügen von Yii2-Verhaltens-/Ereignishandlern über "als" oder "auf" vorfixierte Tasten, den gleichen Angriffsvektor wie die ursprüngliche Empfehlung. Sie benötigen Administratorberechtigungen für das Bedienfeld Craft, und `allowAdminChanges` muss aktiviert sein, damit dies funktioniert. Ein angreifer kann die gleiche gadget-kette aus der ursprünglichen empfehlung verwenden, um rce zu erreichen. Benutzer sollten auf Craft 5.9.11 aktualisieren, um das Problem zu beheben. ## Referenzen https://github.com/craftcms/cms/security/advisories/GHSA-7jx7-3846-m7w7 https://github.com/craftcms/cms/commit/d37389dbffafa565143be40a2ab1e1db22a863f7
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.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.