CVE-2026-18143 — Addify Request a Quote for WooCommerce Unauthenticated File Upload
September 26, 2026 · 765 views
Unauthenticated arbitrary file upload (CWE-434, CVSS 9.8 Critical) in Request a Quote for WooCommerce ≤ 2.9.2 via public AJAX afrfq_submit_quote_via_popup — unsafe move_uploaded_file() with attacker-controlled .php names into web-accessible RFQ temp storage. Requires popup quote rule on the storefront.
Description
Overview
CVE-2026-18143 affects Request a Quote for WooCommerce (woocommerce-request-a-quote, Addify / WooCommerce.com). Public research describes unauthenticated arbitrary file upload via afrfq_submit_quote_via_popup(): the handler uses move_uploaded_file() with the raw client filename, without extension or MIME allowlisting, writing into a web-accessible temporary RFQ upload directory. Attackers can upload .php webshells when a public quote rule uses the multi-page popup flow. Fixed in versions > 2.9.2.
| | |
|---|---|
| Product | Request a Quote for WooCommerce (Addify) |
| Plugin path | wp-content/plugins/woocommerce-request-a-quote/ |
| Affected | ≤ 2.9.2 |
| AJAX | action=afrfq_submit_quote_via_popup → admin-ajax.php |
| Prerequisite | Popup quote rule enabled on storefront |
Open source PoC: https://github.com/murrez/CVE-2026-18143
Attack prerequisites
- WordPress + WooCommerce with the Addify RFQ plugin at a vulnerable version (≤ 2.9.2).
- A public quote configuration that exposes the popup multi-step flow (nonce often in localized
afrfqJS on shop/product pages). - Upload directory reachable over HTTP if verification or exploitation is attempted.
Bundled tool (Python 3)
Member download matches the GitHub repository (poc.py):
check— Plugin/version fingerprint, AJAX handler probe, frontend nonce/popup hints; optional--upload-probewrites a marker PHP and verifies HTTP retrieval (authorized targets only).exploit— Upload chain with--nonce(or auto-scrape) and optional--verify.- Mass check —
--list targets.txt -j Nfor inventories you own or have written scope for.
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 --list targets.example.txt --mode check -j 15
Asset discovery (FOFA)
body="/wp-content/plugins/woocommerce-request-a-quote/"
body="afrfq"
Impact
Successful upload of executable content under the web root implies full application compromise (RCE as the web user), with typical follow-on risk to customer data and adjacent WordPress plugins.
Remediation
- Upgrade Request a Quote for WooCommerce to a release > 2.9.2 from the vendor.
- Until patched, restrict admin-ajax.php and RFQ upload paths where feasible; review quote rules and disable unused popup flows.
- Hunt for unexpected
.phpunder.../woocommerce-request-a-quote/uploads/and rotate credentials if compromise is suspected.
Legal and ethical use
--upload-probe and --mode exploit write files to the target. Use only on systems you own or have explicit written permission to test.
References
Related PoCs
Same platform, vendor, or tags — explore more write-ups on Pocbit.
- WordPressCVE-2026-89055critical
CVE-2026-89055 — CusRev WooCommerce Missing Authorization (Arbitrary Media Deletion)
Customer Reviews for WooCommerce (CusRev) ≤ 5.120.0: public review form AJAX accepts arbitrary Media Library attachment IDs; linked files are deleted when the review is purged. CVSS 3.1 9.1 Critical (CWE-862). Requires a /cusrev/{formId}/ link.
- WordPressCVE-2026-82901critical
CVE-2026-82901 — Ultra Addons for Contact Form 7 Unauthenticated File Upload
Unauthenticated arbitrary file upload (CWE-434, CVSS 3.1 9.8 Critical) in Ultra Addons for Contact Form 7 (Themefic) ≤ 3.5.50 via uacf7_wpcf7_mail_components in the PDF Generator addon — signature field copies files to wp-content/uploads/uacf7-uploads/ with weak validation. Requires PDF Generator enabled on a form with uacf7_signature. Fixed in 3.5.51+.
- WordPressCVE-2026-84434critical
CVE-2026-84434 — Gravity Forms ≤ 3.1.0.4 Unauthenticated Arbitrary File Upload
Unauthenticated arbitrary file upload in **Gravity Forms** (≤ 3.1.0.4) abusing a hidden **File Upload** field (`upload_file`).
- WordPressCVE-2026-19658critical
CVE-2026-19658 — Give Tributes ≤ 2.3.1 Unauthenticated PHP Object Injection
Unauthenticated PHP object injection in **Give Tributes** (≤ 2.3.1) via unsanitized **eCard multi-recipient** POST data stored on donations (unsafe deserialization on read).