Stored XSS in Number Prefix & Suffix Fields
Beschreibung
Zusammenfassung Eine gespeicherte XSS-Schwachstelle existiert in den Einstellungen des Feldtyps Number. Die Felder Prefix und Suffix werden mit `|md|raw` gerendert. Zweigfilter ohne ordnungsgemäßes Entweichen, so dass Skriptausführung ermöglicht wird, wenn das Feld Zahl in den Profilen der Benutzer angezeigt wird. ## Proof of Concept ### Erforderliche Berechtigungen - Administratorzugriff - `allowAdminChanges` ist in der Produktion aktiviert, was gegen unsere [Sicherheitsempfehlungen] (https://craftcms.com/knowledge-base/securing-craft) verstößt. ### Schritte zum Reproduzieren 1. Melden Sie sich mit einem Administratorkonto 2 an. Navigieren Sie zu **Einstellungen ** → **Felder ** Neues Feld ** 3. Wählen Sie **Nummer ** als Feldtyp 4. Setzen Sie das Feld **Prefix/Suffix Text** auf ```html ``` 5. Speichern Sie das Feld 6. Fügen Sie dieses Feld zu einem beliebigen Element hinzu (z. B. Benutzerprofilfelder über **Einstellungen ** → ** Benutzer ** → ** Benutzerfelder **) 7. Navigieren Sie zu Ihrem Konto (`/admin/myaccount`) oder einem beliebigen Benutzerprofil (`/admin/users/{id}`) 8. XSS wird ausgeführt, wenn Sie das Formular ## Mitigation Sanitize Präfix/Suffix anzeigen, bevor Sie `|e` Filter anstelle von `|raw` rendern oder verwenden. ## Referenzen https://github.com/craftcms/cms/commit/cb5fb0e979e72f315c9178fc031883d49527f513
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.8.22, 4.16.18.
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.