WP School Calendar Security & Risk Analysis

wordpress.org/plugins/wp-school-calendar-lite

Build your amazing school calendar in minutes using WP School Calendar. Perfect for your school and education website.

500 active installs v3.8.18 PHP 7.3+ WP 6.1+ Updated Dec 17, 2025
calendareducationelearningeventsonline-courses
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WP School Calendar Safe to Use in 2026?

Generally Safe

Score 100/100

WP School Calendar has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3mo ago
Risk Assessment

The wp-school-calendar-lite plugin v3.8.18 exhibits a generally good security posture due to its strong reliance on prepared statements for all SQL queries and a reasonable number of nonce checks. The complete absence of known CVEs and a clean vulnerability history further bolster this positive assessment, suggesting consistent attention to security by the developers. However, concerns arise from the significant proportion of improperly escaped output, indicating a potential for cross-site scripting (XSS) vulnerabilities. While the static analysis didn't flag direct XSS due to the absence of direct user input to these outputs, the 50% unescaped output rate is a significant weakness that could be exploited if user-controlled data is ever introduced into these contexts. Additionally, the presence of two unsanitized paths in the taint analysis, though not classified as critical or high, warrants investigation as these could lead to unexpected behavior or path traversal if not properly handled. The plugin's attack surface is relatively small and appears to be protected by authorization checks for its AJAX endpoints. In conclusion, the plugin has a solid foundation in secure coding practices for database interactions and authorization, but the output escaping and taint analysis results indicate areas that require developer attention to mitigate potential XSS and path manipulation risks.

Key Concerns

  • 50% of outputs are not properly escaped
  • 2 unsanitized paths in taint analysis
  • Bundled Freemius v1.0 library
Vulnerabilities
None known

WP School Calendar Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

WP School Calendar Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
77 prepared
Unescaped Output
232
228 escaped
Nonce Checks
15
Capability Checks
2
File Operations
1
External Requests
0
Bundled Libraries
2

Bundled Libraries

Select2Freemius1.0

SQL Query Safety

100% prepared77 total queries

Output Escaping

50% escaped460 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

6 flows2 with unsanitized paths
admin_page (includes\admin\builder.php:68)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP School Calendar Attack Surface

Entry Points4
Unprotected0

AJAX Handlers 3

authwp_ajax_wpsc_save_calendarincludes\admin\builder.php:19
authwp_ajax_wpsc_reload_previewincludes\admin\builder.php:20
authwp_ajax_wpsc_importincludes\admin\tools.php:15

Shortcodes 1

[wp_school_calendar] wp-school-calendar.php:106
WordPress Hooks 53
actionadmin_initincludes\admin\builder.php:15
actionadmin_headincludes\admin\builder.php:16
actionadmin_menuincludes\admin\builder.php:17
actionadmin_menuincludes\admin\builder.php:18
actionadmin_initincludes\admin\categories.php:16
actionadmin_menuincludes\admin\categories.php:17
actionadmin_menuincludes\admin\getting-started.php:15
actionadd_meta_boxesincludes\admin\meta-boxes.php:16
actionsave_postincludes\admin\meta-boxes.php:17
actionadmin_initincludes\admin\settings.php:16
actionadmin_menuincludes\admin\settings.php:17
filterwpsc_admin_script_argsincludes\admin\settings.php:19
actionadmin_initincludes\admin\tools.php:16
actionadmin_menuincludes\admin\tools.php:17
actioninitincludes\post-type.php:15
actionmanage_school_calendar_posts_custom_columnincludes\post-type.php:16
actionmanage_important_date_posts_custom_columnincludes\post-type.php:17
actionrestrict_manage_postsincludes\post-type.php:18
actionadmin_headincludes\post-type.php:19
actionadmin_menuincludes\post-type.php:20
actionadmin_print_scriptsincludes\post-type.php:21
actionparent_fileincludes\post-type.php:22
actionpre_get_postsincludes\post-type.php:23
filteradmin_urlincludes\post-type.php:25
filtermanage_school_calendar_posts_columnsincludes\post-type.php:26
filtermanage_important_date_posts_columnsincludes\post-type.php:27
filtermanage_edit-school_calendar_sortable_columnsincludes\post-type.php:28
filterbulk_actions-edit-important_dateincludes\post-type.php:29
filterbulk_actions-edit-school_calendarincludes\post-type.php:30
filterpost_updated_messagesincludes\post-type.php:31
filterbulk_post_updated_messagesincludes\post-type.php:32
filterpost_row_actionsincludes\post-type.php:33
filterenter_title_hereincludes\post-type.php:34
filterrequestincludes\post-type.php:35
filtermanage_edit-important_date_group_columnsincludes\post-type.php:36
filtermonths_dropdown_resultsincludes\post-type.php:450
actionwidgets_initincludes\widget.php:254
actionwpsc_builder_optionslite\includes\admin\builder.php:15
actionadd_meta_boxeslite\includes\admin\meta-boxes.php:16
actionsave_postlite\includes\admin\meta-boxes.php:17
actionwpsc_additional_date_meta_boxlite\includes\admin\meta-boxes.php:18
actionadmin_enqueue_scriptslite\wp-school-calendar-lite.php:20
actionwp_loadedlite\wp-school-calendar-lite.php:21
actioninitwp-school-calendar.php:97
actioninitwp-school-calendar.php:98
actiontemplate_redirectwp-school-calendar.php:99
actionwp_loadedwp-school-calendar.php:100
actionadmin_initwp-school-calendar.php:101
actionadmin_enqueue_scriptswp-school-calendar.php:102
actionwp_enqueue_scriptswp-school-calendar.php:103
filterquery_varswp-school-calendar.php:104
actioninitwp-school-calendar.php:108
actionenqueue_block_editor_assetswp-school-calendar.php:109
Maintenance & Trust

WP School Calendar Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 17, 2025
PHP min version7.3
Downloads29K

Community Trust

Rating80/100
Number of ratings8
Active installs500
Developer Profile

WP School Calendar Developer Profile

Sorsawo Digital

2 plugins · 590 total installs

89
trust score
Avg Security Score
93/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect WP School Calendar

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-school-calendar-lite/assets/css/backend.css/wp-content/plugins/wp-school-calendar-lite/assets/css/frontend.css/wp-content/plugins/wp-school-calendar-lite/assets/css/frontend.css.map/wp-content/plugins/wp-school-calendar-lite/assets/js/backend.js/wp-content/plugins/wp-school-calendar-lite/assets/js/frontend.js/wp-content/plugins/wp-school-calendar-lite/assets/js/vendor/moment.min.js/wp-content/plugins/wp-school-calendar-lite/assets/js/vendor/fullcalendar.min.js/wp-content/plugins/wp-school-calendar-lite/assets/js/vendor/locale/en.js+7 more
Script Paths
/wp-content/plugins/wp-school-calendar-lite/assets/js/backend.js/wp-content/plugins/wp-school-calendar-lite/assets/js/frontend.js
Version Parameters
wp-school-calendar-lite/assets/css/backend.css?ver=wp-school-calendar-lite/assets/css/frontend.css?ver=wp-school-calendar-lite/assets/js/backend.js?ver=wp-school-calendar-lite/assets/js/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
wp-school-calendar-wrapperwpsc-frontendwpsc-calendar-headerwpsc-calendar-bodywpsc-eventwpsc-event-datewpsc-event-titlewpsc-event-description+7 more
HTML Comments
<!-- START WP School Calendar Front-end Script --><!-- END WP School Calendar Front-end Script --><!-- START WP School Calendar Back-end Script --><!-- END WP School Calendar Back-end Script -->+2 more
Data Attributes
data-wpsc-settingsdata-wpsc-event-iddata-wpsc-event-titledata-wpsc-event-startdata-wpsc-event-enddata-wpsc-event-all-day+5 more
JS Globals
WP_School_Calendar_FrontendWP_School_Calendar_Backendwpsc_varswpsc_settings
REST Endpoints
/wp-json/wp-school-calendar/v1/events/wp-json/wp-school-calendar/v1/categories/wp-json/wp-school-calendar/v1/settings
Shortcode Output
<div class="wp-school-calendar-wrapper"></div>
FAQ

Frequently Asked Questions about WP School Calendar