CVE-2024-3714
📋 TL;DR
This vulnerability allows authenticated WordPress users with contributor-level access or higher to inject malicious scripts into pages using the GiveWP plugin's 'give_form' shortcode. The scripts execute when other users view the compromised pages, enabling stored cross-site scripting attacks. All WordPress sites using GiveWP versions up to 3.10.0 are affected.
💻 Affected Systems
- GiveWP - Donation Plugin and Fundraising Platform for WordPress
📦 What is this software?
Givewp by Givewp
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator credentials, perform session hijacking, deface websites, redirect users to malicious sites, or install backdoors for persistent access.
Likely Case
Malicious actors with contributor access inject scripts to steal user session cookies, display fraudulent content, or redirect users to phishing pages.
If Mitigated
With proper user access controls and content security policies, impact is limited to potential defacement of specific pages without credential theft.
🎯 Exploit Status
Exploitation requires authenticated access but is technically simple once an attacker has contributor privileges.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.11.0
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3083390/give/tags/3.11.0/includes/class-give-donate-form.php
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find GiveWP and click 'Update Now'. 4. Verify version shows 3.11.0 or higher.
🔧 Temporary Workarounds
Remove Contributor Access
allTemporarily restrict contributor-level user creation and review existing contributor accounts.
Disable Legacy Forms
allSwitch all donation forms to modern versions instead of legacy forms.
🧯 If You Can't Patch
- Implement strict Content Security Policy (CSP) headers to prevent script execution
- Review and audit all contributor-level user accounts and their content
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins → GiveWP version. If version is 3.10.0 or lower, you are vulnerable.
Check Version:
wp plugin list --name=give --field=version
Verify Fix Applied:
After updating, confirm GiveWP version shows 3.11.0 or higher in WordPress plugins list.
📡 Detection & Monitoring
Log Indicators:
- Unusual shortcode modifications in post/page content
- Multiple page edits by contributor users in short timeframe
Network Indicators:
- External script loads from unexpected domains in donation form pages
SIEM Query:
source="wordpress" (event="post_modified" OR event="page_updated") user_role="contributor" content="*give_form*"
🔗 References
- https://plugins.trac.wordpress.org/changeset/3083390/give/tags/3.11.0/includes/class-give-donate-form.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/dd8f5cfa-3431-4617-b2cd-d5a8ce4530f4?source=cve
- https://plugins.trac.wordpress.org/changeset/3083390/give/tags/3.11.0/includes/class-give-donate-form.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/dd8f5cfa-3431-4617-b2cd-d5a8ce4530f4?source=cve