CVE-2024-5940
📋 TL;DR
The GiveWP WordPress plugin has an authorization bypass vulnerability that allows unauthenticated attackers to modify event ticket settings when the Events beta feature is enabled. This affects all WordPress sites running GiveWP version 3.13.0 or earlier with the Events feature active.
💻 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 manipulate ticket pricing, availability, or event details to disrupt fundraising campaigns, cause financial loss, or damage organizational reputation.
Likely Case
Unauthorized changes to ticket settings leading to confusion, incorrect pricing, or disruption of fundraising events.
If Mitigated
Limited impact if Events beta feature is disabled or proper access controls are implemented.
🎯 Exploit Status
Simple HTTP request to vulnerable endpoints can trigger the vulnerability. No authentication required.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.13.1
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 and click 'Update Now'. 4. Verify version is 3.13.1 or later.
🔧 Temporary Workarounds
Disable Events Beta Feature
allTemporarily disable the Events feature until patching is complete
Navigate to GiveWP settings > Advanced > Features and disable 'Events'
🧯 If You Can't Patch
- Disable the Events beta feature immediately
- Implement web application firewall rules to block requests to /wp-json/give/v3/event-tickets/* endpoints
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin > Plugins > Installed Plugins for GiveWP version. If version is 3.13.0 or earlier and Events feature is enabled, system is vulnerable.
Check Version:
wp plugin list --name=give --field=version
Verify Fix Applied:
Verify GiveWP version is 3.13.1 or later in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- POST requests to /wp-json/give/v3/event-tickets/* endpoints from unauthenticated users
- Unauthorized modifications to event ticket settings in GiveWP logs
Network Indicators:
- HTTP requests to vulnerable REST API endpoints without authentication headers
SIEM Query:
source="web_server" AND (uri_path="/wp-json/give/v3/event-tickets" OR uri_path CONTAINS "/event-tickets/") AND http_method="POST" AND user_agent!="WordPress/*"
🔗 References
- https://plugins.trac.wordpress.org/browser/give/tags/3.12.0/src/EventTickets/Routes/UpdateEvent.php#L81
- https://plugins.trac.wordpress.org/browser/give/tags/3.12.0/src/EventTickets/Routes/UpdateEventTicketType.php#L78
- https://plugins.trac.wordpress.org/changeset/3120745/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/d3cda8d0-321c-4b15-980e-5ebf49fac367?source=cve