CVE-2024-12468
📋 TL;DR
The WP Datepicker WordPress plugin has a reflected cross-site scripting vulnerability that allows unauthenticated attackers to inject malicious scripts via the 'wpdp_get_selected_datepicker' parameter. This affects all WordPress sites using WP Datepicker versions 2.1.4 and earlier. Attackers can exploit this by tricking users into clicking specially crafted links.
💻 Affected Systems
- WP Datepicker WordPress Plugin
📦 What is this software?
Wp Datepicker by Androidbubbles
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal session cookies, redirect users to malicious sites, perform actions on behalf of authenticated users, or deliver malware payloads.
Likely Case
Session hijacking, credential theft, or redirection to phishing sites when users click malicious links.
If Mitigated
Limited impact if Content Security Policy is properly configured and users are trained to avoid suspicious links.
🎯 Exploit Status
Reflected XSS vulnerabilities are commonly weaponized in phishing campaigns and require minimal technical skill to exploit.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.1.5 or later
Vendor Advisory: https://wordpress.org/plugins/wp-datepicker/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find WP Datepicker plugin
4. Click 'Update Now' if update is available
5. Alternatively, download version 2.1.5+ from WordPress.org and manually replace files
🔧 Temporary Workarounds
Disable vulnerable plugin
allTemporarily deactivate WP Datepicker plugin until patched
wp plugin deactivate wp-datepicker
Implement Content Security Policy
allAdd CSP headers to restrict script execution
Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Add to nginx config: add_header Content-Security-Policy "default-src 'self'; script-src 'self'";
🧯 If You Can't Patch
- Implement web application firewall rules to block malicious parameter values
- Monitor for suspicious URL patterns containing wpdp_get_selected_datepicker parameter
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins for WP Datepicker version ≤2.1.4
Check Version:
wp plugin get wp-datepicker --field=version
Verify Fix Applied:
Confirm WP Datepicker version is 2.1.5 or higher in WordPress admin
📡 Detection & Monitoring
Log Indicators:
- HTTP requests containing 'wpdp_get_selected_datepicker' parameter with script tags or JavaScript code
- Unusual referrer headers with encoded script payloads
Network Indicators:
- URLs with wpdp_get_selected_datepicker parameter containing script tags or JavaScript
SIEM Query:
web.url:*wpdp_get_selected_datepicker* AND (web.url:*<script* OR web.url:*javascript:* OR web.url:*onload=* OR web.url:*onerror=*)
🔗 References
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L267
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L271
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L359
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L361
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L377
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L401
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L402
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L408
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L409
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L415
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L416
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L423
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L552
- https://plugins.trac.wordpress.org/browser/wp-datepicker/tags/2.1.3/inc/wpdp_settings.php#L553
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3210616%40wp-datepicker&new=3210616%40wp-datepicker&sfp_email=&sfph_mail=
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3212312%40wp-datepicker&new=3212312%40wp-datepicker&sfp_email=&sfph_mail=
- https://www.wordfence.com/threat-intel/vulnerabilities/id/b6b61731-ded2-4ac1-83f6-686daf92441e?source=cve