CVE-2024-13096
📋 TL;DR
This vulnerability in the WP Finance WordPress plugin allows attackers to trick logged-in administrators into executing malicious actions via Cross-Site Request Forgery (CSRF) attacks. Successful exploitation could lead to stored cross-site scripting (XSS) payloads being injected into the website. All WordPress sites using the vulnerable WP Finance plugin versions are affected.
💻 Affected Systems
- WP Finance WordPress Plugin
📦 What is this software?
Wp Finance by Mch0lic
⚠️ Risk & Real-World Impact
Worst Case
Attackers could inject persistent malicious scripts that steal administrator credentials, redirect visitors to malicious sites, or deface the website for all users.
Likely Case
Attackers would use CSRF to inject XSS payloads that could steal session cookies or perform unauthorized actions when administrators visit compromised pages.
If Mitigated
With proper CSRF protection and input validation, the attack would fail and no payloads would be stored.
🎯 Exploit Status
Exploitation requires social engineering to trick an administrator into clicking a malicious link while authenticated.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.3.7 or later
Vendor Advisory: https://wpscan.com/vulnerability/ca65c478-30bf-4109-93e0-3aedbf4a8264/
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find WP Finance plugin. 4. Click 'Update Now' if available. 5. Alternatively, download version 1.3.7+ from WordPress repository and manually update.
🔧 Temporary Workarounds
Disable WP Finance Plugin
allTemporarily disable the vulnerable plugin until patched.
wp plugin deactivate wp-finance
Implement CSRF Protection
allAdd custom CSRF tokens to WordPress forms using security plugins.
🧯 If You Can't Patch
- Remove WP Finance plugin entirely and use alternative financial plugins.
- Implement web application firewall (WAF) rules to block CSRF attempts and XSS payloads.
🔍 How to Verify
Check if Vulnerable:
Check WP Finance plugin version in WordPress admin under Plugins > Installed Plugins.
Check Version:
wp plugin get wp-finance --field=version
Verify Fix Applied:
Verify plugin version is 1.3.7 or higher after update.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to wp-finance plugin endpoints from unexpected referrers
- Administrator sessions performing unexpected plugin actions
Network Indicators:
- HTTP requests containing suspicious JavaScript payloads in POST parameters
- CSRF attempts with missing or invalid nonce tokens
SIEM Query:
source="wordpress.log" AND "wp-finance" AND ("POST" OR "admin-ajax.php") AND ("script" OR "javascript" OR "onload" OR "onerror")