CVE-2024-13495
📋 TL;DR
This vulnerability allows unauthenticated attackers to execute arbitrary WordPress shortcodes through the GamiPress plugin's AJAX function. Attackers can potentially inject malicious code, create backdoors, or manipulate site content. All WordPress sites using GamiPress versions up to 7.2.1 are affected.
💻 Affected Systems
- GamiPress – Gamification plugin for WordPress
📦 What is this software?
Gamipress by Gamipress
⚠️ Risk & Real-World Impact
Worst Case
Complete site takeover via shortcode execution leading to remote code execution, data theft, or malware installation.
Likely Case
Unauthorized content injection, privilege escalation, or backdoor creation through malicious shortcode execution.
If Mitigated
Limited impact if proper input validation and shortcode filtering are implemented.
🎯 Exploit Status
Exploitation requires sending crafted AJAX requests to the vulnerable endpoint without authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 7.2.2 or later
Vendor Advisory: https://wordpress.org/plugins/gamipress/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find GamiPress and click 'Update Now'. 4. Verify version is 7.2.2 or higher.
🔧 Temporary Workarounds
Disable vulnerable AJAX endpoint
WordPressRemove or restrict access to the gamipress_ajax_get_logs() function
Add to theme's functions.php: remove_action('wp_ajax_gamipress_get_logs', 'gamipress_ajax_get_logs');
Add to theme's functions.php: remove_action('wp_ajax_nopriv_gamipress_get_logs', 'gamipress_ajax_get_logs');
🧯 If You Can't Patch
- Temporarily disable the GamiPress plugin entirely
- Implement WAF rules to block requests to /wp-admin/admin-ajax.php with gamipress_get_logs action
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins → GamiPress version
Check Version:
wp plugin list --name=gamipress --field=version
Verify Fix Applied:
Confirm GamiPress version is 7.2.2 or higher in WordPress admin
📡 Detection & Monitoring
Log Indicators:
- POST requests to /wp-admin/admin-ajax.php with action=gamipress_get_logs
- Unusual shortcode execution in WordPress debug logs
Network Indicators:
- HTTP POST requests to admin-ajax.php with gamipress_get_logs parameter from unexpected sources
SIEM Query:
source="wordpress.log" AND "admin-ajax.php" AND "gamipress_get_logs"
🔗 References
- https://plugins.trac.wordpress.org/browser/gamipress/trunk/includes/ajax-functions.php#L39
- https://plugins.trac.wordpress.org/changeset/3226227/
- https://wordpress.org/plugins/gamipress/#developers
- https://www.wordfence.com/threat-intel/vulnerabilities/id/55fa8423-9a41-4afe-9401-03d232caa656?source=cve