WP-CalDav2ICS Security & Risk Analysis

wordpress.org/plugins/wp-caldav2ics

Automatically create ICS File from CalDav Calendar

200 active installs v1.3.4 PHP 5.6+ WP 4.4+ Updated Jul 20, 2023
caldavcalendaricalicalendarics
63
C · Use Caution
CVEs total1
Unpatched1
Last CVEDec 30, 2025
Safety Verdict

Is WP-CalDav2ICS Safe to Use in 2026?

Use With Caution

Score 63/100

WP-CalDav2ICS has 1 unpatched vulnerability. Evaluate alternatives or apply available mitigations.

1 known CVE 1 unpatched Last CVE: Dec 30, 2025Updated 3yr ago
Risk Assessment

The wp-caldav2ics plugin v1.3.4 presents a mixed security posture. While it exhibits strong practices in handling SQL queries with prepared statements and has a relatively small attack surface with no identified unprotected entry points, several concerning signals emerge from the static analysis. The presence of 12 instances of the dangerous `unserialize` function, without any apparent nonce checks, is a significant red flag, potentially opening the door to deserialization vulnerabilities if user-supplied data is involved. Furthermore, only 9% of output escaping is properly handled, indicating a high risk of Cross-Site Scripting (XSS) vulnerabilities.

The vulnerability history reveals a pattern of past Cross-Site Request Forgery (CSRF) issues, and critically, there is one known unpatched medium-severity vulnerability. This, combined with the static analysis findings of potential XSS and deserialization risks, paints a concerning picture. The plugin's strengths lie in its secure database interactions and controlled entry points, but the identified weaknesses in serialization, output escaping, and the existence of an unpatched CVE necessitate immediate attention and mitigation.

Key Concerns

  • Unpatched medium CVE
  • Dangerous function: unserialize
  • Missing nonce checks
  • Low percentage of output escaping
  • Flows with unsanitized paths
Vulnerabilities
1 published

WP-CalDav2ICS Security Vulnerabilities

CVEs by Year

1 CVE in 2025 · unpatched
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-59131medium · 4.3Cross-Site Request Forgery (CSRF)

WP-CalDav2ICS <= 1.3.4 - Cross-Site Request Forgery

Dec 30, 2025Unpatched
Version History

WP-CalDav2ICS Release Timeline

v1.3.4Current1 CVE
v1.3.31 CVE
v1.3.21 CVE
v1.2.11 CVE
v1.2.01 CVE
v1.1.21 CVE
Code Analysis
Analyzed Mar 16, 2026

WP-CalDav2ICS Code Analysis

Dangerous Functions
12
Raw SQL Queries
0
1 prepared
Unescaped Output
21
2 escaped
Nonce Checks
0
Capability Checks
3
File Operations
26
External Requests
1
Bundled Libraries
0

Dangerous Functions Found

unserializeforeach(($calURLs = unserialize($CalendarOptions['caldav2ics_calendar_urls'])) as $calURL) {Caldav2ics_Plugin.php:17
unserializeforeach(($calUsers = unserialize($CalendarOptions['caldav2ics_calendar_users'])) as $calUser) {Caldav2ics_Plugin.php:32
unserializeforeach(($calPwds = unserialize($CalendarOptions['caldav2ics_calendar_passwords'])) as $calPwd) {Caldav2ics_Plugin.php:40
unserialize$CalendarURLs = unserialize($CalendarOptions['caldav2ics_calendar_urls']);Caldav2ics_Plugin.php:252
unserialize$CalendarUsers = unserialize($CalendarOptions['caldav2ics_calendar_users']);Caldav2ics_Plugin.php:253
unserialize$CalendarPWs = unserialize($CalendarOptions['caldav2ics_calendar_passwords']);Caldav2ics_Plugin.php:254
unserialize$CalendarFiles = unserialize($CalendarOptions['caldav2ics_calendar_files']);Caldav2ics_Plugin.php:255
unserialize$CalendarExcludes = unserialize($CalendarOptions['caldav2ics_calendar_excludes']);Caldav2ics_Plugin.php:256
unserialize$cal_url_Array = unserialize($CalendarOptions['caldav2ics_calendar_urls']);Caldav2ics_Plugin.php:650
unserialize$cal_user_Array = unserialize($CalendarOptions['caldav2ics_calendar_users']);Caldav2ics_Plugin.php:666
unserialize$cal_password_Array = unserialize($CalendarOptions['caldav2ics_calendar_passwords']);Caldav2ics_Plugin.php:680
unserialize$cal_files_Array = unserialize($CalendarOptions['caldav2ics_calendar_files']);Caldav2ics_Plugin.php:694

SQL Query Safety

100% prepared1 total queries

Output Escaping

9% escaped23 total outputs
Data Flows · Security
4 unsanitized

Data Flow Analysis

4 flows4 with unsanitized paths
settingsPage (Caldav2ics_OptionsManager.php:264)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP-CalDav2ICS Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 9
actionadmin_initCaldav2ics_OptionsManager.php:248
actionbl_deactivation_hookCaldav2ics_Plugin.php:203
actionadmin_menuCaldav2ics_Plugin.php:490
actionbl_cron_hookCaldav2ics_Plugin.php:495
actionadmin_enqueue_scriptsCaldav2ics_Plugin.php:505
actionadmin_noticesCaldav2ics_Plugin.php:509
actionwp_footerCaldav2ics_ShortCodeScriptLoader.php:40
actionadmin_noticeswp-caldav2ics.php:38
actionplugins_loadedwp-caldav2ics.php:61

Scheduled Events 2

bl_cron_hook
bl_cron_hook
Maintenance & Trust

WP-CalDav2ICS Maintenance & Trust

Maintenance Signals

WordPress version tested6.1.10
Last updatedJul 20, 2023
PHP min version5.6
Downloads8K

Community Trust

Rating100/100
Number of ratings6
Active installs200
Developer Profile

WP-CalDav2ICS Developer Profile

hoernerfranz

1 plugin · 200 total installs

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

How We Detect WP-CalDav2ICS

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

Asset Fingerprints

HTML / DOM Fingerprints

FAQ

Frequently Asked Questions about WP-CalDav2ICS