CVE-2024-5932

10.0 CRITICAL

📋 TL;DR

The GiveWP WordPress plugin is vulnerable to PHP object injection via the 'give_title' parameter, allowing unauthenticated attackers to execute arbitrary code and delete files. All versions up to 3.14.1 are affected, impacting any WordPress site using this donation plugin.

💻 Affected Systems

Products:
  • GiveWP – Donation Plugin and Fundraising Platform for WordPress
Versions: All versions up to and including 3.14.1
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with vulnerable GiveWP versions are affected regardless of configuration

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise leading to data theft, ransomware deployment, or website defacement

🟠

Likely Case

Remote code execution allowing backdoor installation, credential theft, and file deletion

🟢

If Mitigated

Limited impact if proper WAF rules block malicious payloads and file permissions restrict damage

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

CVSS 10.0 indicates trivial exploitation with maximum impact potential

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.14.2 or later

Vendor Advisory: https://wordpress.org/plugins/give/

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find GiveWP plugin
4. Click 'Update Now' if available
5. If no update shows, download version 3.14.2+ from WordPress.org
6. Deactivate old version, upload new version, activate

🔧 Temporary Workarounds

WAF Rule Block

all

Block requests containing suspicious serialized data in give_title parameter

ModSecurity: SecRule ARGS:give_title "@rx (O:\d+:\"[^\"]+\":\d+:\{[^}]*\})" "id:1001,phase:2,deny,status:403,msg:'PHP Object Injection Attempt'"
Cloudflare WAF: Create rule blocking requests where URI contains 'give_title' with suspicious patterns

Plugin Deactivation

all

Temporarily disable GiveWP plugin until patched

wp plugin deactivate give
WordPress Admin → Plugins → GiveWP → Deactivate

🧯 If You Can't Patch

  • Implement strict WAF rules blocking all requests with serialized data in parameters
  • Restrict plugin access using .htaccess or nginx rules to allow only trusted IP addresses

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → GiveWP version number

Check Version:

wp plugin list --name=give --field=version

Verify Fix Applied:

Verify GiveWP version is 3.14.2 or higher in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with give_title parameter containing serialized data
  • Unusual file deletion events in webroot
  • Suspicious PHP process execution

Network Indicators:

  • HTTP requests with serialized PHP objects in POST data
  • Multiple failed exploitation attempts from same IP

SIEM Query:

source="web_logs" AND (uri="*admin-ajax.php*" AND post_data="*give_title*" AND post_data MATCHES "*O:[0-9]+:*")

🔗 References

📤 Share & Export