string-typed field-layout elements evade array-only cleanse, enabling behavior-injection RCE
Beschreibung
Craft CMS Control-Panel-Feldlayout-Hydratation wendet `Component::cleanseConfig()` auf Strip-Yii2-Konfigurationsschlüssel an (`als `Verhaltensanhänge, auf `Handler-Registrierungen'), die sonst `Craft::createObject()` erreichen und eine willkürliche Objekt-Instanziation / Event-Handler-Ausführung auslösen würden. `cleanseConfig` rekursiert nur in Arrays. Eine Feldlayout-Registerkarte, deren Elementwert als JSON-String veröffentlicht wird, wird von cleanse unberührt vorbeigeführt und dann von `FieldLayoutTab:: construct()` in ein Live-Array decodiert, nachdem cleanse ausgeführt wurde - Element-Level auf / als Tasten wieder aufleben lassen, die durch `setElements` → `Fields::createLayoutElement()`→ `Craft::createObject()` fließen. Jeder authentifizierte Control-Panel-Benutzer (kein Admin, keine spezielle Berechtigung, keine allowAdminChanges) kann dies erreichen. Dies ist ein unvollständiger Fix-Bypass von GHSA-2fph-6v5w-89hh (CVE-2026-33157) und GHSA-qrgm-p9w5-rrfw (CVE-2026-44011): Beide Fixes wurden "Component::cleanseConfig" auf den FeldLayouts / Condition Hydratationspfaden eingefügt. Auswirkungen Authentifiziertes Verhalten / Event-Handler-Injektion - die gleiche RCE-Klasse, die der Maintainer für GHSA-86vw-x4ww-x467, GHSA-2fph-6v5w-89hh und GHSA-qrgm-p9w5-rrfw akzeptiert hat. Erreichbar für jeden authentifizierten Control-Panel-Benutzer. ID des Berichts: 1565
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.12.
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.