„`html
Zusammenfassung
Das LearnPress WordPress-Plugin ist in Versionen bis einschließlich 4.4.0 anfällig für Stored Cross-Site Scripting (XSS). Die Sicherheitslücke ermöglicht authentifizierten Angreifern mit Contributor-Rechten oder höher, beliebige JavaScript-Code in WordPress-Seiten einzuschleusen, der bei jedem Seitenaufruf ausgeführt wird.
Betroffene Systeme
WordPress-Installationen mit dem LearnPress Plugin in den Versionen:
- 4.4.0 und früher
- Alle vorherigen Versionen mit unzureichender Input-Validierung
Betroffen sind Systeme, auf denen Contributor-Level-Benutzer oder höher Zugriff haben.
Technische Details
Die Anfälligkeit liegt in der Methode FilterCourseTemplate::sections() an Zeile 98. Der Parameter class_wrapper_form des Shortcodes wird direkt in ein HTML-class-Attribut eingefügt, ohne die erforderliche Escaping-Funktion esc_attr() anzuwenden:
sprintf('<form class="%s">', $class_wrapper_form)
Der FilterCourseShortcode::render()-Handler nutzt nicht die WordPress-Funktion shortcode_atts(), wodurch ungefilterte Benutzereingaben direkt an den Hook learn-press/filter-courses/layout weitergegeben werden. Dies ermöglicht Event-Handler-Injection wie onload oder onerror in das class-Attribut.
Empfohlene Massnahmen
- Sofort: Plugin-Update durchführen oder deaktivieren, sobald ein Patch verfügbar ist
- Nutzerrechte überprüfen und unnötige Contributor-Rollen entfernen
- Seiten mit LearnPress-Shortcodes auf verdächtige class-Attribute überprüfen
- Security-Plugins mit XSS-Schutz implementieren
- Regelmäßig Plugin- und WordPress-Updates durchführen
Bewertung
CVSS-Score: 6.4 (Medium)
Die Schweregrad-Einstufung ist angemessen, da ein Patch noch ausstehend ist und eine Authentifizierung erforderlich ist. Für Systeme mit eingeschränkter Benutzerverwaltung bleibt das Risiko moderat.
„`