Booking Ultra Pro Appointments Booking Calendar Plugin Security & Risk Analysis

wordpress.org/plugins/booking-ultra-pro

Powerful Booking Plugin with amazing dashboard to manage all of your appointments & bookings online.

500 active installs v1.1.23 PHP + WP 4.0+ Updated Sep 30, 2025
appointmentsgroup-bookingsonline-booking-calendarreservationscheduling
50
C · Use Caution
CVEs total15
Unpatched1
Last CVEDec 26, 2025
Safety Verdict

Is Booking Ultra Pro Appointments Booking Calendar Plugin Safe to Use in 2026?

Use With Caution

Score 50/100

Booking Ultra Pro Appointments Booking Calendar Plugin has 1 unpatched vulnerability. Evaluate alternatives or apply available mitigations.

15 known CVEs 1 unpatched Last CVE: Dec 26, 2025Updated 6mo ago
Risk Assessment

The booking-ultra-pro plugin exhibits a mixed security posture. While it demonstrates good practices in SQL query handling and a significant portion of its output escaping, the presence of 30 unprotected AJAX handlers represents a substantial attack surface. The taint analysis reveals 4 high-severity flows with unsanitized paths, indicating potential vulnerabilities that could be exploited if the input is not properly validated and neutralized.

The plugin's vulnerability history is a major concern, with 15 known CVEs, including one critical and six high-severity issues. The fact that one critical vulnerability remains unpatched is a significant risk. The recurring vulnerability types, such as missing authorization, XSS, and RFI, suggest a pattern of fundamental security flaws that have not been fully addressed over time. This history, coupled with the identified code signals, points to a need for significant security improvements.

In conclusion, while the plugin utilizes prepared statements for SQL and has decent output escaping, the numerous unprotected AJAX endpoints, high-severity taint flows, and extensive history of unpatched vulnerabilities, particularly a critical one, paint a picture of a plugin with serious security weaknesses. The outdated bundled jQuery library is a minor concern but adds to the overall impression of a lack of consistent security maintenance.

Key Concerns

  • Unprotected AJAX handlers
  • High severity taint flows
  • Currently unpatched critical CVE
  • High number of high severity CVEs
  • Bundled outdated jQuery library
  • Flows with unsanitized paths
Vulnerabilities
15

Booking Ultra Pro Appointments Booking Calendar Plugin Security Vulnerabilities

CVEs by Year

3 CVEs in 2022
2022
4 CVEs in 2023
2023
4 CVEs in 2024
2024
4 CVEs in 2025 · unpatched
2025
Patched Has unpatched

Severity Breakdown

Critical
1
High
6
Medium
8

15 total CVEs

CVE-2025-68006medium · 4.3Exposure of Sensitive Information to an Unauthorized Actor

Booking Ultra Pro <= 1.1.23 - Authenticated (Subscriber+) Information Exposure

Dec 26, 2025Unpatched
CVE-2025-58633medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Booking Ultra Pro <= 1.1.21 - Authenticated (Contributor+) Stored Cross-Site Scripting

Sep 3, 2025 Patched in 1.1.22 (7d)
CVE-2025-30637medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Booking Ultra Pro <= 1.1.20 - Authenticated (Administrator+) Stored Cross-Site Scripting

Jun 5, 2025 Patched in 1.1.21 (7d)
CVE-2025-27345medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Booking Ultra Pro <= 1.1.19 - Reflected Cross-Site Scripting

Feb 21, 2025 Patched in 1.1.20 (20d)
CVE-2024-6175medium · 5.4Missing Authorization

Booking Ultra Pro <= 1.1.13 - Missing Authorization to Authenticated (Subscriber+) Plugin Settings Updates

Jul 17, 2024 Patched in 1.1.14 (41d)
CVE-2024-38717critical · 9.8Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')

Booking Ultra Pro <= 1.1.13 - Unauthenticated Local File Inclusion

Jul 11, 2024 Patched in 1.1.14 (48d)
CVE-2024-38676medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Booking Ultra Pro <= 1.1.13 - Authenticated (Contributor+) Stored Cross-Site Scripting

Jul 10, 2024 Patched in 1.1.14 (49d)
CVE-2024-32960high · 8.8Improper Privilege Management

Booking Ultra Pro <= 1.1.12 - Authenticated (Contributor+) Privilege Escalation

Apr 23, 2024 Patched in 1.1.13 (7d)
CVE-2023-32601medium · 4.3Missing Authorization

Booking Ultra Pro <= 1.1.6 - Missing Authorization via save_fields_settings

May 12, 2023 Patched in 1.1.7 (256d)
CVE-2023-32511high · 7.2Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Booking Ultra Pro <= 1.1.8 - Reflected Cross-Site Scripting

May 10, 2023 Patched in 1.1.9 (258d)
CVE-2023-32236high · 7.2Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Booking Ultra Pro <= 1.1.8 - Unauthenticated Stored Cross-Site Scripting

May 10, 2023 Patched in 1.1.9 (258d)
CVE-2022-46816high · 8.8Cross-Site Request Forgery (CSRF)

Booking Ultra Pro <= 1.1.6 - Cross-Site Request Forgery

Feb 21, 2023 Patched in 1.1.7 (336d)

Booking Ultra Pro <= 1.1.5 - Missing Authorization

Sep 29, 2022 Patched in 1.1.6 (481d)
CVE-2021-36855high · 8.8Cross-Site Request Forgery (CSRF)

Booking Ultra Pro <= 1.1.6 - Cross-Site Request Forgery

Sep 29, 2022 Patched in 1.1.7 (481d)
CVE-2021-36854medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Booking Ultra Pro <= 1.1.8 - Stored Cross-Site Scripting

Sep 29, 2022 Patched in 1.1.9 (481d)
Code Analysis
Analyzed Mar 16, 2026

Booking Ultra Pro Appointments Booking Calendar Plugin Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
268 prepared
Unescaped Output
166
781 escaped
Nonce Checks
65
Capability Checks
38
File Operations
4
External Requests
5
Bundled Libraries
1

Bundled Libraries

jQuery1.10.2

SQL Query Safety

100% prepared268 total queries

Output Escaping

82% escaped947 total outputs
Data Flows
21 unsanitized

Data Flow Analysis

25 flows21 with unsanitized paths
<users> (admin\tabs\users.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
30 unprotected

Booking Ultra Pro Appointments Booking Calendar Plugin Attack Surface

Entry Points91
Unprotected30

AJAX Handlers 90

authwp_ajax_bup_clean_appo_without_serviceaddons\maintenance\admin\admin.php:24
authwp_ajax_bup_clean_appo_without_staffaddons\maintenance\admin\admin.php:25
authwp_ajax_save_fields_settingsclasses\bookingultra.admin.php:29
authwp_ajax_add_new_custom_profile_fieldclasses\bookingultra.admin.php:31
authwp_ajax_delete_profile_fieldclasses\bookingultra.admin.php:32
authwp_ajax_sort_fileds_listclasses\bookingultra.admin.php:33
authwp_ajax_bup_reload_custom_fields_setclasses\bookingultra.admin.php:36
authwp_ajax_bup_reload_field_to_editclasses\bookingultra.admin.php:39
authwp_ajax_custom_fields_resetclasses\bookingultra.admin.php:41
authwp_ajax_create_uploader_folderclasses\bookingultra.admin.php:42
authwp_ajax_reset_email_templateclasses\bookingultra.admin.php:44
authwp_ajax_bup_vv_c_de_aclasses\bookingultra.admin.php:46
authwp_ajax_bup_deactivate_licenseclasses\bookingultra.admin.php:47
authwp_ajax_get_all_staff_appointmentsclasses\bookingultra.appointment.php:9
authwp_ajax_bup_admin_new_appointmentclasses\bookingultra.appointment.php:11
authwp_ajax_bup_admin_new_appointment_confirmclasses\bookingultra.appointment.php:12
authwp_ajax_appointment_get_selected_timeclasses\bookingultra.appointment.php:13
authwp_ajax_bup_admin_edit_appointmentclasses\bookingultra.appointment.php:14
authwp_ajax_bup_get_payments_listclasses\bookingultra.appointment.php:15
authwp_ajax_bup_get_payment_formclasses\bookingultra.appointment.php:16
authwp_ajax_bup_admin_payment_confirmclasses\bookingultra.appointment.php:17
authwp_ajax_bup_appointment_confirm_rescheduleclasses\bookingultra.appointment.php:18
authwp_ajax_bup_update_booking_infoclasses\bookingultra.appointment.php:19
authwp_ajax_bup_delete_paymentclasses\bookingultra.appointment.php:20
authwp_ajax_bup_get_appointments_quickclasses\bookingultra.appointment.php:21
authwp_ajax_bup_update_appointment_statusclasses\bookingultra.appointment.php:22
authwp_ajax_bup_update_payment_status_inlineclasses\bookingultra.appointment.php:23
authwp_ajax_bup_appointment_status_optionsclasses\bookingultra.appointment.php:25
authwp_ajax_bup_update_appo_status_edclasses\bookingultra.appointment.php:26
authwp_ajax_bup_delete_appointmentclasses\bookingultra.appointment.php:27
authwp_ajax_bup_get_break_addclasses\bookingultra.break.php:11
authwp_ajax_bup_break_add_confirmclasses\bookingultra.break.php:12
authwp_ajax_bup_get_current_staff_breaksclasses\bookingultra.break.php:13
authwp_ajax_bup_delete_breakclasses\bookingultra.break.php:14
authwp_ajax_create_default_pages_autoclasses\bookingultra.class.php:188
authwp_ajax_bup_hide_proversion_messageclasses\bookingultra.class.php:189
authwp_ajax_bup_clear_cartclasses\bookingultra.register.php:11
noprivwp_ajax_bup_clear_cartclasses\bookingultra.register.php:12
authwp_ajax_display_categoriesclasses\bookingultra.service.php:11
authwp_ajax_display_admin_servicesclasses\bookingultra.service.php:12
authwp_ajax_ubp_get_serviceclasses\bookingultra.service.php:13
authwp_ajax_ubp_update_serviceclasses\bookingultra.service.php:14
authwp_ajax_ubp_update_global_business_hoursclasses\bookingultra.service.php:15
authwp_ajax_ubp_update_staff_business_hoursclasses\bookingultra.service.php:16
authwp_ajax_ubp_book_step_2classes\bookingultra.service.php:18
noprivwp_ajax_ubp_book_step_2classes\bookingultra.service.php:19
authwp_ajax_ubp_book_step_3classes\bookingultra.service.php:21
noprivwp_ajax_ubp_book_step_3classes\bookingultra.service.php:22
authwp_ajax_ubp_book_step_4classes\bookingultra.service.php:24
noprivwp_ajax_ubp_book_step_4classes\bookingultra.service.php:25
authwp_ajax_ubp_book_step_show_cartclasses\bookingultra.service.php:27
noprivwp_ajax_ubp_book_step_show_cartclasses\bookingultra.service.php:28
authwp_ajax_ubp_book_step_2_hotelsclasses\bookingultra.service.php:31
noprivwp_ajax_ubp_book_step_2_hotelsclasses\bookingultra.service.php:32
authwp_ajax_bup_update_purchase_totalclasses\bookingultra.service.php:34
noprivwp_ajax_bup_update_purchase_totalclasses\bookingultra.service.php:35
authwp_ajax_bup_delete_cart_itemclasses\bookingultra.service.php:37
noprivwp_ajax_bup_delete_cart_itemclasses\bookingultra.service.php:38
authwp_ajax_bup_get_shopping_cartclasses\bookingultra.service.php:40
noprivwp_ajax_bup_get_shopping_cartclasses\bookingultra.service.php:41
authwp_ajax_bup_display_cart_checkoutclasses\bookingultra.service.php:43
noprivwp_ajax_bup_display_cart_checkoutclasses\bookingultra.service.php:44
authwp_ajax_bup_load_dw_of_staffclasses\bookingultra.service.php:49
noprivwp_ajax_bup_load_dw_of_staffclasses\bookingultra.service.php:50
authwp_ajax_get_cate_dw_admin_ajaxclasses\bookingultra.service.php:51
authwp_ajax_ubp_check_adm_availabilityclasses\bookingultra.service.php:52
authwp_ajax_ubp_check_adm_availability_adminclasses\bookingultra.service.php:54
authwp_ajax_bup_get_category_add_formclasses\bookingultra.service.php:55
authwp_ajax_bup_add_category_confirmclasses\bookingultra.service.php:56
authwp_ajax_bup_delete_categoryclasses\bookingultra.service.php:57
authwp_ajax_bup_delete_serviceclasses\bookingultra.service.php:58
authwp_ajax_bup_client_get_add_formclasses\bookingultra.service.php:59
authwp_ajax_bup_get_service_pricingclasses\bookingultra.service.php:61
authwp_ajax_bup_update_group_pricing_tableclasses\bookingultra.service.php:62
authwp_ajax_ubp_get_new_staffclasses\bookingultra.user.php:13
authwp_ajax_ubp_get_staff_details_ajaxclasses\bookingultra.user.php:14
authwp_ajax_ubp_add_staff_confirmclasses\bookingultra.user.php:15
authwp_ajax_ubp_add_client_confirmclasses\bookingultra.user.php:16
authwp_ajax_ubp_update_staff_servicesclasses\bookingultra.user.php:17
authwp_ajax_bup_autocomple_clients_tesearchclasses\bookingultra.user.php:18
authwp_ajax_bup_get_staff_list_admin_ajaxclasses\bookingultra.user.php:19
authwp_ajax_bup_get_staff_details_adminclasses\bookingultra.user.php:20
authwp_ajax_bup_update_staff_adminclasses\bookingultra.user.php:21
authwp_ajax_bup_delete_staff_adminclasses\bookingultra.user.php:22
authwp_ajax_bup_ajax_upload_avatarclasses\bookingultra.user.php:23
authwp_ajax_bup_crop_avatar_user_profile_imageclasses\bookingultra.user.php:24
authwp_ajax_bup_delete_user_avatarclasses\bookingultra.user.php:25
authwp_ajax_bup_disconnect_user_gcalclasses\bookingultra.user.php:26
authwp_ajax_bup_update_user_account_settingsclasses\bookingultra.user.php:28
authwp_ajax_bup_set_default_gcal_staffclasses\bookingultra.user.php:30

Shortcodes 1

[bupro_appointment] classes\bookingultra.shorcodes.php:19
WordPress Hooks 38
actionadmin_menuaddons\maintenance\admin\admin.php:19
actionadmin_enqueue_scriptsaddons\maintenance\admin\admin.php:20
actionadmin_headaddons\maintenance\admin\admin.php:21
actionadmin_initaddons\maintenance\admin\admin.php:22
actionadmin_menuclasses\bookingultra.admin.php:22
actionadmin_enqueue_scriptsclasses\bookingultra.admin.php:24
actionadmin_headclasses\bookingultra.admin.php:25
actionadmin_initclasses\bookingultra.admin.php:26
actionadmin_initclasses\bookingultra.admin.php:27
actioninitclasses\bookingultra.adminshortcodes.php:9
filtertiny_mce_versionclasses\bookingultra.adminshortcodes.php:10
filtermce_external_pluginsclasses\bookingultra.adminshortcodes.php:34
filtermce_buttonsclasses\bookingultra.adminshortcodes.php:35
actioninitclasses\bookingultra.appointment.php:10
actionwp_headclasses\bookingultra.appointment.php:29
actionadmin_noticesclasses\bookingultra.class.php:184
actionwp_enqueue_scriptsclasses\bookingultra.class.php:193
actionadmin_enqueue_scriptsclasses\bookingultra.class.php:194
actioninitclasses\bookingultra.class.php:197
actioninitclasses\bookingultra.class.php:203
actionadmin_initclasses\bookingultra.class.php:204
actioninitclasses\bookingultra.class.php:206
actionadmin_initclasses\bookingultra.class.php:207
actionwp_headclasses\bookingultra.class.php:210
filterquery_varsclasses\bookingultra.class.php:267
actioninitclasses\bookingultra.paypal.php:9
actioninitclasses\bookingultra.register.php:8
actioninitclasses\bookingultra.register.php:9
actionuser_registerclasses\bookingultra.register.php:23
actionwp_loginclasses\bookingultra.register.php:29
actioninitclasses\bookingultra.shorcodes.php:7
actioninitclasses\bookingultra.shorcodes.php:8
filterthe_contentclasses\bookingultra.shorcodes.php:18
filterthe_contentclasses\bookingultra.shorcodes.php:28
actioninitindex.php:37
actioninitindex.php:39
actionadmin_initindex.php:73
actionadmin_noticesindex.php:85
Maintenance & Trust

Booking Ultra Pro Appointments Booking Calendar Plugin Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedSep 30, 2025
PHP min version
Downloads188K

Community Trust

Rating78/100
Number of ratings231
Active installs500
Developer Profile

Booking Ultra Pro Appointments Booking Calendar Plugin Developer Profile

Deetronix

3 plugins · 3K total installs

67
trust score
Avg Security Score
83/100
Avg Patch Time
183 days
View full developer profile
Detection Fingerprints

How We Detect Booking Ultra Pro Appointments Booking Calendar Plugin

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/booking-ultra-pro/assets/js/bup-admin-script.js/wp-content/plugins/booking-ultra-pro/assets/css/bup-admin-style.css/wp-content/plugins/booking-ultra-pro/assets/css/bup-frontend-style.css/wp-content/plugins/booking-ultra-pro/assets/js/bup-frontend-script.js
Script Paths
booking-ultra-pro/assets/js/bup-admin-script.jsbooking-ultra-pro/assets/js/bup-frontend-script.js
Version Parameters
booking-ultra-pro/assets/js/bup-admin-script.js?ver=booking-ultra-pro/assets/css/bup-admin-style.css?ver=booking-ultra-pro/assets/css/bup-frontend-style.css?ver=booking-ultra-pro/assets/js/bup-frontend-script.js?ver=

HTML / DOM Fingerprints

CSS Classes
bup-notice-holder
HTML Comments
<!-- Master Class --><!-- Helper to activate a plugin on another site without causing a fatal error by --><!-- Running on a single blog --><!-- Loading Function -->+3 more
Data Attributes
data-bup-pagedata-bup-actiondata-bup-nonce
JS Globals
bookingultrapro_admin_script_varsbup_booking_frontend_varsbookingUltraProbup_vars
REST Endpoints
/wp-json/booking-ultra-pro/v1/settings/wp-json/booking-ultra-pro/v1/appointments
Shortcode Output
[bookingultrapro][bup_appointments][bup_staff_list]
FAQ

Frequently Asked Questions about Booking Ultra Pro Appointments Booking Calendar Plugin