RCE vulnerability via relational conditionals in the control panel
Beschreibung
Eine Sicherheitslücke für Remote Code Execution existiert im Craft CMS 5-Konditionssystem. Die `BaseElementSelectConditionRule::getElementIds()`-Methode führt benutzergesteuerte Zeichenfolgeneingaben durch `renderObjectTemplate()` - eine unsandboxed Twig-Rendering-Funktion mit deaktiviertem Entweichen. Jeder authentifizierte Systemsteuerungsbenutzer (einschließlich Nicht-Admin-Rollen wie Autor oder Editor) kann vollständige RCE erreichen, indem er eine ausgearbeitete Bedingungsregel über Standardelementlistenendpunkte sendet. Diese Sicherheitsanfälligkeit erfordert keine Admin-Privilegien, keine speziellen Berechtigungen über den einfachen Zugriff auf das Bedienfeld hinaus und umgeht alle Einstellungen zur Produktionshärtung (allowAdminChanges: false, devMode: false, enableTwigSandbox: true). Benutzer sollten auf die gepatchte Version 5.99 aktualisieren, um das Problem zu beheben. ### Referenzen https://github.com/craftcms/cms/commit/8d4903647dcfd31b8d40ed027e27082013347a80
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.9, 4.17.4.
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.