„`html
Zusammenfassung
Das Zakra WordPress Theme weist eine Stored Cross-Site Scripting (XSS) Vulnerabilität auf, die es authentifizierten Benutzern mit Contributor-Rechten ermöglicht, willkürliche JavaScript-Code in WordPress-Seiten einzuinjizieren. Die Schwachstelle betrifft alle Versionen bis einschließlich 4.2.0 und wird über die REST API ausgelöst.
Betroffene Systeme
Zakra Theme für WordPress in allen Versionen bis 4.2.0. Die Anfälligkeit betrifft Installationen, bei denen Contributor-Level oder höherwertige Benutzer existieren.
Technische Details
Das Theme registriert drei Post-Meta-Felder (zakra_menu_item_color, zakra_menu_item_hover_color und zakra_menu_item_active_color) mit den Parametern 'show_in_rest' => true und 'auth_callback' => '__return_true'. Kritisch ist das Fehlen eines sanitize_callback Parameters in den register_post_meta() Aufrufen.
Während der klassische Editor die Funktion sanitize_hex_color() anwendet, umgeht die REST API diese Validierung vollständig. Die unsanitisierten Meta-Werte werden anschließend mittels get_post_meta() abgerufen und direkt in CSS-Strings konkateniert. Diese werden via wp_add_inline_style() ohne Escaping ausgegeben.
Empfohlene Massnahmen
- Zakra Theme auf eine gepatchte Version aktualisieren, sobald verfügbar
- Contributor-Berechtigungen überprüfen und restriktiv vergeben
- REST API Zugriff auf Post-Meta einschränken
- Web Application Firewall (WAF) zur XSS-Filterung einsetzen
- Regelmäßige Theme-Updates durchführen
Bewertung
CVSS Score: 6.4 (Medium)
Angriffsvektor: Network
Authentifizierung erforderlich: Ja (Contributor-Level)
Auswirkungen: Stored XSS ermöglicht Session-Hijacking, Malware-Verbreitung und Datendiebstahl
„`