„`html
Zusammenfassung
Die WordPress-Erweiterung „Brands for WooCommerce“ weist eine Schwachstelle vom Typ Stored Cross-Site Scripting (XSS) auf. Diese ermöglicht authentifizierten Benutzern mit Contributor-Rechten oder höher, beliebigen JavaScript-Code in Seiten einzuschleusen. Die Anfälligkeit existiert in allen Versionen bis einschließlich 3.8.8 und wird durch unzureichende Input-Validierung und Output-Escaping im ‚width‘-Shortcode-Attribut verursacht.
Betroffene Systeme
Betroffen sind WordPress-Installationen mit aktiviertem Plugin „Brands for WooCommerce“ in Version 3.8.8 und älter. Das Risiko besteht insbesondere bei Websites mit mehreren Autoren oder Benutzern auf Contributor-Level, da diese die erforderlichen Privilegien zur Ausnutzung besitzen.
Technische Details
Die Vulnerability liegt in der fehlerhaften Verarbeitung des ‚width‘-Parameters des Shortcodes. Der eingegebene Wert wird weder validiert noch properly escaped, bevor er in das HTML-Dokument eingefügt wird. Ein angreifer kann beispielsweise folgenden Payload verwenden:
[brands width="100" onfocus="alert('XSS')" autofocus=""]
Da die Verarbeitung auf dem Server stattfindet und das Script persistent gespeichert wird, wird der Code bei jedem Seitenaufruf durch beliebige Besucher ausgeführt. Dies ermöglicht Session-Hijacking, Credential-Theft oder Malware-Verteilung.
Empfohlene Massnahmen
- Sofortige Deaktivierung des Plugins bis zur Verfügbarkeit eines Security-Updates
- Überprüfung aller veröffentlichten Inhalte auf verdächtige Shortcode-Attribute
- Beschränkung von Contributor-Rechten auf vertrauenswürdige Benutzer
- Implementierung von Content Security Policy (CSP) Headers
- Regelmäßige Sicherheitsaudits und Web Application Firewalls (WAF) einsetzen
Bewertung
CVSS-Score: 6.4 (Medium)
Trotz des mittleren Severity-Scores ist die praktische Gefahr erheblich, da die Ausnutzung keine zusätzliche Infrastruktur erfordert. Die Abhängigkeit von authentifizierten Benutzern limitiert jedoch das Risiko im Vergleich zu unauthentifizierten Exploits.
„`