CVE-2024-9634
📋 TL;DR
This vulnerability allows unauthenticated attackers to perform PHP object injection via the give_company_name parameter in the GiveWP WordPress plugin. Successful exploitation can lead to remote code execution through available POP chains. All WordPress sites using GiveWP versions up to 3.16.3 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
Complete server compromise with remote code execution, allowing attackers to install backdoors, steal data, or pivot to other systems.
Likely Case
Website defacement, data theft, malware installation, or cryptocurrency mining due to the high CVSS score and unauthenticated nature.
If Mitigated
Limited impact with proper web application firewalls and intrusion detection systems blocking exploitation attempts.
🎯 Exploit Status
The vulnerability requires a POP chain for RCE, but the unauthenticated nature and high CVSS score make exploitation likely.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.16.4
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3166836/give/tags/3.16.4/includes/process-donation.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 is 3.16.4 or higher.
🔧 Temporary Workarounds
Web Application Firewall Rule
allBlock requests containing suspicious give_company_name parameter values
Disable Plugin
linuxTemporarily disable GiveWP plugin until patched
wp plugin deactivate give
🧯 If You Can't Patch
- Implement strict WAF rules to block malicious requests to the vulnerable endpoint
- Restrict access to the WordPress admin interface and monitor for exploitation attempts
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins for GiveWP version
Check Version:
wp plugin list --name=give --field=version
Verify Fix Applied:
Confirm GiveWP version is 3.16.4 or higher in WordPress admin
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to donation processing endpoints with give_company_name parameter
- PHP errors related to unserialize() or object injection
Network Indicators:
- HTTP requests containing serialized PHP objects in give_company_name parameter
SIEM Query:
source="wordpress.log" AND "give_company_name" AND ("unserialize" OR "PHP object")
🔗 References
- https://plugins.trac.wordpress.org/browser/give/tags/3.16.2/src/Donations/Repositories/DonationRepository.php?rev=3157829
- https://plugins.trac.wordpress.org/changeset/3166836/give/tags/3.16.4/includes/process-donation.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/b8eb3aa9-fe60-48b6-aa24-7873dd68b47e?source=cve