CP Appointment Calendar Security & Risk Analysis

wordpress.org/plugins/cp-appointment-calendar

CP Appointment Calendar allows you to define "available" time slots that can be booked by the website visitors.

100 active installs v1.1.40 PHP + WP 3.0.5+ Updated Dec 26, 2025
appointmentsbookingscalendarpaymentspaypal
98
A · Safe
CVEs total1
Unpatched0
Last CVEFeb 12, 2015
Safety Verdict

Is CP Appointment Calendar Safe to Use in 2026?

Generally Safe

Score 98/100

CP Appointment Calendar has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Feb 12, 2015Updated 3mo ago
Risk Assessment

The "cp-appointment-calendar" plugin version 1.1.40 presents a mixed security posture. While it demonstrates some good practices like utilizing prepared statements for a majority of its SQL queries and performing capability checks, significant concerns remain. The presence of an unprotected AJAX handler is a critical vulnerability, creating a direct entry point for potential attacks without any authentication or authorization checks. This, combined with a high percentage of improperly escaped outputs and a taint flow with unsanitized paths, indicates a notable risk of data manipulation or leakage.

The plugin's vulnerability history, with a past critical SQL injection CVE, reinforces the concern around its handling of user input and database interactions. Although there are currently no unpatched CVEs, the historical critical vulnerability suggests a recurring pattern of issues that require careful attention. The limited attack surface is a positive, but the single unprotected AJAX handler is a severe weakness. In conclusion, while not riddled with vulnerabilities, the identified unprotected entry point, output escaping issues, and historical critical vulnerability warrant a cautious approach to its use.

Key Concerns

  • Unprotected AJAX handler
  • Taint flow with unsanitized paths (High severity)
  • Improperly escaped outputs (62% proper)
  • Past critical CVE (SQL Injection)
Vulnerabilities
1

CP Appointment Calendar Security Vulnerabilities

CVEs by Year

1 CVE in 2015
2015
Patched Has unpatched

Severity Breakdown

Critical
1

1 total CVE

CVE-2015-10099critical · 9.8Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

CP Appointment Calendar <= 1.1.5 - Unauthenticated SQL Injection

Feb 12, 2015 Patched in 1.1.6 (3403d)
Code Analysis
Analyzed Mar 16, 2026

CP Appointment Calendar Code Analysis

Dangerous Functions
0
Raw SQL Queries
3
5 prepared
Unescaped Output
47
76 escaped
Nonce Checks
1
Capability Checks
4
File Operations
0
External Requests
1
Bundled Libraries
0

SQL Query Safety

63% prepared8 total queries

Output Escaping

62% escaped123 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

6 flows1 with unsanitized paths
dex_appointments_check_IPN_verification (dex_appointments.php:327)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

CP Appointment Calendar Attack Surface

Entry Points1
Unprotected1

AJAX Handlers 1

authwp_ajax_cpappcal_feedbackcp-feedback.php:3
WordPress Hooks 13
actionadmin_enqueue_scriptscp-feedback.php:2
actionadmin_footercp-feedback.php:18
filterthe_contentdex_appointments.php:123
actionmedia_buttonsdex_appointments.php:152
actionadmin_enqueue_scriptsdex_appointments.php:153
actionadmin_menudex_appointments.php:154
actionadmin_initdex_appointments.php:155
actioninitdex_appointments.php:233
actioninitdex_appointments.php:325
actioninitdex_appointments.php:415
actioninitdex_appointments.php:416
actioninitdex_appointments.php:417
actioninitdex_appointments.php:418
Maintenance & Trust

CP Appointment Calendar Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 26, 2025
PHP min version
Downloads30K

Community Trust

Rating60/100
Number of ratings8
Active installs100
Developer Profile

CP Appointment Calendar Developer Profile

codepeople

34 plugins · 89K total installs

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

How We Detect CP Appointment Calendar

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/cp-appointment-calendar/css/dex_appointments.css/wp-content/plugins/cp-appointment-calendar/css/jquery-ui.css/wp-content/plugins/cp-appointment-calendar/css/jquery-ui.theme.css/wp-content/plugins/cp-appointment-calendar/js/dex_appointments.js/wp-content/plugins/cp-appointment-calendar/js/dex_scheduler.js/wp-content/plugins/cp-appointment-calendar/js/jquery.min.js/wp-content/plugins/cp-appointment-calendar/js/jquery-ui.min.js/wp-content/plugins/cp-appointment-calendar/js/dex_appointments_frontend.js
Script Paths
/wp-content/plugins/cp-appointment-calendar/js/dex_appointments.js/wp-content/plugins/cp-appointment-calendar/js/dex_scheduler.js/wp-content/plugins/cp-appointment-calendar/js/dex_appointments_frontend.js
Version Parameters
cp-appointment-calendar/css/dex_appointments.css?ver=cp-appointment-calendar/css/jquery-ui.css?ver=cp-appointment-calendar/css/jquery-ui.theme.css?ver=cp-appointment-calendar/js/dex_appointments.js?ver=cp-appointment-calendar/js/dex_scheduler.js?ver=cp-appointment-calendar/js/jquery.min.js?ver=cp-appointment-calendar/js/jquery-ui.min.js?ver=cp-appointment-calendar/js/dex_appointments_frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
dex-appointments-wrap
Data Attributes
data-dextimeformatdata-dexappointmentid
JS Globals
dex_appointments_plugin_obj
Shortcode Output
[APPOINTMENT_CALENDAR_FORM_WILL_APPEAR_HERE]
FAQ

Frequently Asked Questions about CP Appointment Calendar