Friendly Functions for Welcart WordPress Plugin CSRF (CVE-2026-1208)
by Kai Aizen (SnailSploit) · 2026-07-05
- Severity
- Medium
- CVE
- CVE-2026-1208
- Category
- web
- Affected product
- Friendly Functions for Welcart (WordPress plugin)
- Affected versions
- All versions up to and including 1.2.5; fixed in 1.2.6
- Disclosed
- 2026-07-05
- Patch status
- patched
References
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-05 |
| Author / Researcher | Kai Aizen (SnailSploit) |
| CVE / Advisory | CVE-2026-1208 |
| Category | web |
| Severity | Medium |
| CVSS Score | 4.3 (CVSS 3.1, AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N) |
| Status | PoC |
| Tags | wordpress, wp-plugin, csrf, welcart, cwe-352, settings-manipulation |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | Friendly Functions for Welcart (WordPress plugin) |
| Versions Affected | All versions up to and including 1.2.5; fixed in 1.2.6 |
| Language / Platform | PHP / WordPress; PoC generator in Python and Bash |
| Authentication Required | No (requires victim admin to be logged in and tricked into visiting a page) |
| Network Access Required | Yes |
Summary
The Friendly Functions for Welcart plugin’s settings page fails to validate a nonce or verify request origin when processing settings updates, exposing a classic CSRF flaw. An unauthenticated attacker can craft an auto-submitting HTML form targeting the plugin’s settings endpoint; if a logged-in administrator visits the malicious page, their browser silently submits the forged request and the plugin settings are modified without consent. The included scripts generate this CSRF HTML payload (with optional custom field values and a built-in HTTP server to host it) for authorized testing.
Vulnerability Details
Root Cause
The plugin’s settings handler (ffw_function_settings.php) processes POST requests to update configuration without generating or verifying a WordPress nonce, and does not check the request’s origin/referer.
Attack Vector
- Attacker generates a CSRF HTML page targeting
wp-admin/admin.php?page=ffw-settingswith hidden form fields for the desired settings values. - Attacker hosts the page (e.g. via the PoC’s built-in HTTP server) and lures a logged-in WordPress administrator to visit it.
- The victim’s browser auto-submits the hidden form using their authenticated session cookies.
- The plugin accepts the request as legitimate and updates its settings accordingly.
Impact
Unauthorized modification of Welcart e-commerce plugin settings, potential disruption of store operations, and a foothold for chaining with other vulnerabilities.
Environment / Lab Setup
Target: WordPress site with Friendly Functions for Welcart <= 1.2.5, admin victim session
Attacker: Python 3.8+ or Bash shell to run the payload generator; a server to host the resulting HTML
Proof of Concept
PoC Script
See
exploit.pyandexploit.shin this folder.
| |
Both scripts generate an auto-submitting CSRF HTML page targeting the plugin’s settings endpoint and can optionally serve it over a built-in HTTP server for delivery to a victim administrator.
Detection & Indicators of Compromise
SecRule REQUEST_URI "@contains /wp-admin/admin.php" "chain" SecRule ARGS:page "@streq ffw-settings"
Signs of compromise:
- Unexpected changes to Friendly Functions for Welcart settings with no corresponding admin-initiated action in audit logs
- Requests to the settings page lacking a same-origin Referer header
- Administrator reports of visiting an unfamiliar link shortly before settings changed
Remediation
| Action | Detail |
|---|---|
| Primary fix | Update Friendly Functions for Welcart to version 1.2.6 or later |
| Interim mitigation | Disable the plugin until patched, or add WAF rules blocking cross-origin POSTs to the ffw-settings admin page |
References
Notes
Mirrored from https://github.com/SnailSploit/CVE-2026-1208 on 2026-07-05.
| |