WP Datepicker Security & Risk Analysis

wordpress.org/plugins/wp-datepicker

A great plugin to implement custom styled jQuery UI datepicker site-wide.

7K active installs v2.1.6 PHP 7.0+ WP 3.0.1+ Updated Apr 15, 2025
date-selectiondatepickerhtml-datepickerjquery-ui
96
A · Safe
CVEs total4
Unpatched0
Last CVEDec 23, 2024
Safety Verdict

Is WP Datepicker Safe to Use in 2026?

Generally Safe

Score 96/100

WP Datepicker has a strong security track record. Known vulnerabilities have been patched promptly.

4 known CVEsLast CVE: Dec 23, 2024Updated 11mo ago
Risk Assessment

The wp-datepicker v2.1.6 plugin presents a mixed security posture. While it has a relatively small attack surface with all identified entry points having authentication checks, and a good number of nonce and capability checks, several concerning code signals and its vulnerability history suggest potential weaknesses. The presence of the `unserialize` function is a significant red flag, as it can lead to remote code execution if not handled with extreme care and proper input sanitization. Furthermore, only 33% of SQL queries utilize prepared statements, leaving a substantial portion vulnerable to SQL injection attacks. The taint analysis also identified two flows with unsanitized paths, indicating potential avenues for attackers to manipulate the application's behavior.

The plugin's historical vulnerability data is also a cause for concern. With four known CVEs, including one high-severity vulnerability and three medium-severity ones, it suggests a pattern of security flaws. The common vulnerability types being Missing Authorization and Cross-site Scripting further reinforce the risks associated with improper input handling and access control. Although there are currently no unpatched vulnerabilities, the frequency and types of past issues indicate a need for diligent patching and ongoing security scrutiny.

In conclusion, while the plugin demonstrates some good security practices like proper authentication on entry points, the presence of dangerous functions, raw SQL queries, unsanitized data flows, and a history of diverse vulnerabilities necessitate a cautious approach. The potential for critical vulnerabilities like RCE via unserialize and SQL injection, coupled with the past occurrences of XSS and authorization issues, makes this plugin a moderate to high risk, depending on the specific nature of the unsanitized flows and the actual implementation of the `unserialize` usage.

Key Concerns

  • Dangerous function: unserialize present
  • Low percentage of prepared SQL statements
  • Unsanitized paths found in taint analysis
  • High severity vulnerability in history
  • Multiple medium severity vulnerabilities in history
  • Low output escaping percentage
Vulnerabilities
4

WP Datepicker Security Vulnerabilities

CVEs by Year

4 CVEs in 2024
2024
Patched Has unpatched

Severity Breakdown

High
1
Medium
3

4 total CVEs

CVE-2024-12468medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WP Datepicker <= 2.1.4 - Reflected Cross-Site Scripting

Dec 23, 2024 Patched in 2.1.5 (1d)
CVE-2024-47321medium · 5.3Missing Authorization

WP Datepicker <= 2.1.1 - Missing Authorization

Sep 25, 2024 Patched in 2.1.2 (79d)
CVE-2024-44042medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WP Datepicker <= 2.1.1 - Authenticated (Administrator+) Stored Cross-Site Scripting

Sep 23, 2024 Patched in 2.1.2 (10d)
CVE-2024-3895high · 8.8Missing Authorization

WP Datepicker <= 2.1.0 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Options Update

Apr 23, 2024 Patched in 2.1.1 (10d)
Code Analysis
Analyzed Mar 16, 2026

WP Datepicker Code Analysis

Dangerous Functions
1
Raw SQL Queries
2
1 prepared
Unescaped Output
110
64 escaped
Nonce Checks
8
Capability Checks
3
File Operations
3
External Requests
0
Bundled Libraries
0

Dangerous Functions Found

unserialize$wpdp_fonts = unserialize(base64_decode($wpdp_fonts));inc\functions.php:972

SQL Query Safety

33% prepared3 total queries

Output Escaping

37% escaped174 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

8 flows2 with unsanitized paths
<wpdp_settings> (inc\wpdp_settings.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP Datepicker Attack Surface

Entry Points3
Unprotected0

AJAX Handlers 3

authwp_ajax_wpdp_update_developer_optionsinc\functions.php:1098
authwp_ajax_wpdb_refresh_scripts_ajaxinc\functions.php:1130
authwp_ajax_wpdp_add_new_datepicker_ajaxinc\functions_inner.php:278
WordPress Hooks 5
actioninitinc\functions.php:354
actioninitinc\functions_inner.php:279
actionadmin_enqueue_scriptsindex.php:68
actionwp_enqueue_scriptsindex.php:69
actionadmin_menuindex.php:76
Maintenance & Trust

WP Datepicker Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedApr 15, 2025
PHP min version7.0
Downloads264K

Community Trust

Rating96/100
Number of ratings37
Active installs7K
Developer Profile

WP Datepicker Developer Profile

Fahad Mahmood

40 plugins · 33K total installs

76
trust score
Avg Security Score
96/100
Avg Patch Time
237 days
View full developer profile
Detection Fingerprints

How We Detect WP Datepicker

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-datepicker/css/wpdp_auto_style.css/wp-content/plugins/wp-datepicker/js/wpdp_auto_script.js
Script Paths
/wp-content/plugins/wp-datepicker/js/wpdp_auto_script.js
Version Parameters
wp-datepicker/css/wpdp_auto_style.css?ver=wp-datepicker/js/wpdp_auto_script.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpdp-input
HTML Comments
<!-- THIS IS FOR TESTING THE CODE --><!-- FOR TESTING THE CODE IN SIDEBAR AND FOOTER --><!-- FOR THE PLUGIN IN SIDEBAR AND FOOTER --><!-- FOR THE PLUGIN IN ADMIN PANEL -->
Data Attributes
data-wpdp-date-formatdata-wpdp-default-datedata-wpdp-change-monthdata-wpdp-change-yeardata-wpdp-year-rangedata-wpdp-show-month-after-year+35 more
JS Globals
wpdp_obj
REST Endpoints
/wp-json/wpdp-android-settings/v1
Shortcode Output
<input type="text" class="wpdp-input"
FAQ

Frequently Asked Questions about WP Datepicker