CVE-2025-28861

7.1 HIGH

📋 TL;DR

A Cross-Site Request Forgery (CSRF) vulnerability in the WP jQuery Persian Datepicker WordPress plugin allows attackers to perform stored cross-site scripting (XSS) attacks. This affects WordPress sites using the plugin version 0.1.0 or earlier. Attackers can trick authenticated administrators into executing malicious actions that inject persistent scripts into vulnerable sites.

💻 Affected Systems

Products:
  • WP jQuery Persian Datepicker WordPress Plugin
Versions: 0.1.0 and earlier
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: WordPress sites with the vulnerable plugin installed and activated are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could inject malicious JavaScript that steals administrator credentials, redirects users to malicious sites, or takes full control of the WordPress site when administrators view infected pages.

🟠

Likely Case

Attackers create fake admin interfaces or forms that trick logged-in administrators into executing actions that inject malicious scripts into site content, potentially compromising visitor data or site integrity.

🟢

If Mitigated

With proper CSRF protections and input validation, the attack chain would be broken, preventing both the CSRF and subsequent XSS exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires tricking an authenticated administrator into performing an action, making it moderately complex but feasible with social engineering.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.1.1 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/wpjqp-datepicker/vulnerability/wordpress-wp-jquery-persian-datepicker-plugin-0-1-0-csrf-to-stored-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'WP jQuery Persian Datepicker'. 4. Click 'Update Now' if available, or delete and reinstall from WordPress repository. 5. Verify version is 0.1.1 or higher.

🔧 Temporary Workarounds

Disable vulnerable plugin

WordPress

Temporarily disable the WP jQuery Persian Datepicker plugin until patched

wp plugin deactivate wpjqp-datepicker

Implement CSRF protection

WordPress

Add WordPress nonce verification to all plugin forms and AJAX requests

🧯 If You Can't Patch

  • Disable the WP jQuery Persian Datepicker plugin completely
  • Implement web application firewall (WAF) rules to block CSRF and XSS patterns

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for WP jQuery Persian Datepicker version 0.1.0 or earlier

Check Version:

wp plugin get wpjqp-datepicker --field=version

Verify Fix Applied:

Verify plugin version shows 0.1.1 or higher in WordPress admin plugins list

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin/admin-ajax.php with datepicker-related actions
  • Multiple failed nonce verification attempts

Network Indicators:

  • CSRF attack patterns in web traffic
  • Unexpected JavaScript injection in plugin-related requests

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" AND action="*datepicker*")

🔗 References

📤 Share & Export