WP-Persian Security & Risk Analysis

wordpress.org/plugins/wp-persian

Fast and Powerful plugin for Jalali calendar and Farsi language support in Wordpress and standard plugins.

9K active installs v3.3.0 PHP + WP 4.0+ Updated Sep 11, 2020
calendardatefarsijalalipersian
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WP-Persian Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 5yr ago
Risk Assessment

The wp-persian plugin v3.3.0 presents a mixed security profile. On the positive side, the plugin exhibits a very small attack surface, with no identifiable AJAX handlers, REST API routes, shortcodes, or cron events exposed. Furthermore, there are no known vulnerabilities (CVEs) associated with this plugin, and its history is clean, suggesting a generally well-maintained codebase.

However, the static analysis reveals some areas of concern. A significant portion of the output (57%) is not properly escaped, which could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is not handled carefully. While only one capability check is present, the lack of any nonce checks on the zero AJAX handlers is notable, though the absence of any AJAX handlers itself mitigates this risk currently. The taint analysis indicated two flows with unsanitized paths, which, while not classified as critical or high, warrant attention as potential vectors for path traversal or information disclosure if these paths are ever exposed to external input.

In conclusion, the plugin's strength lies in its minimal attack surface and lack of known vulnerabilities. The primary weaknesses identified are the significant number of unescaped outputs and the presence of unsanitized paths in the taint analysis. These issues, while not currently leading to high-severity exploitable vulnerabilities based on the provided data, represent potential risks that should be addressed to improve the plugin's overall security posture.

Key Concerns

  • High percentage of unescaped output
  • Taint flows with unsanitized paths
  • No nonce checks on AJAX handlers
Vulnerabilities
None known

WP-Persian Security Vulnerabilities

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

WP-Persian Code Analysis

Dangerous Functions
0
Raw SQL Queries
2
9 prepared
Unescaped Output
24
18 escaped
Nonce Checks
0
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
1

Bundled Libraries

TinyMCE

SQL Query Safety

82% prepared11 total queries

Output Escaping

43% escaped42 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

2 flows2 with unsanitized paths
wpp_restrict_manage_posts (includes\class-wpp-hooks.php:213)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP-Persian Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 60
filterlocaleincludes\class-wp-persian.php:61
actionwidgets_initincludes\class-wp-persian.php:63
actioninitincludes\class-wp-persian.php:65
filterload_textdomain_mofileincludes\class-wp-persian.php:69
actionplugins_loadedincludes\class-wp-persian.php:71
actionsetup_themeincludes\class-wp-persian.php:72
actionafter_setup_themeincludes\class-wp-persian.php:73
actionshutdownincludes\class-wp-persian.php:75
filtermedia_library_months_with_filesincludes\class-wp-persian.php:100
filterajax_query_attachments_argsincludes\class-wp-persian.php:101
filtermce_external_pluginsincludes\class-wp-persian.php:119
filtermce_buttonsincludes\class-wp-persian.php:120
actionmce_cssincludes\class-wp-persian.php:124
actionall_admin_noticesincludes\class-wp-persian.php:170
filterdate_formatsincludes\class-wp-persian.php:196
filterdate_i18nincludes\class-wp-persian.php:197
actionrestrict_manage_postsincludes\class-wp-persian.php:198
filterdisable_months_dropdownincludes\class-wp-persian.php:199
actionload-edit.phpincludes\class-wp-persian.php:200
actionload-upload.phpincludes\class-wp-persian.php:201
actionadmin_enqueue_scriptsincludes\class-wp-persian.php:203
actionload-options-general.phpincludes\class-wp-persian.php:205
filternumber_format_i18nincludes\class-wp-persian.php:208
filterget_termincludes\class-wp-persian.php:211
filterget_commentincludes\class-wp-persian.php:212
filtercomment_save_preincludes\class-wp-persian.php:213
filterthe_titleincludes\class-wp-persian.php:216
filterthe_titleincludes\class-wp-persian.php:219
filterplugin_row_metaincludes\class-wp-persian.php:223
actionsave_postincludes\class-wp-persian.php:227
actionwoocommerce_before_save_order_itemsincludes\class-wp-persian.php:229
filterwp_dateincludes\class-wp-persian.php:240
filterpost_linkincludes\class-wp-persian.php:243
filterposts_whereincludes\class-wp-persian.php:247
filterpre_get_postsincludes\class-wp-persian.php:248
filternumber_format_i18nincludes\class-wp-persian.php:253
filterwp_titleincludes\class-wp-persian.php:256
filterthe_titleincludes\class-wp-persian.php:259
filterthe_excerptincludes\class-wp-persian.php:262
filterthe_contentincludes\class-wp-persian.php:265
filtercomment_textincludes\class-wp-persian.php:268
filtercomments_numberincludes\class-wp-persian.php:271
filterwp_list_categoriesincludes\class-wp-persian.php:274
filterwp_titleincludes\class-wp-persian.php:278
filterthe_titleincludes\class-wp-persian.php:279
filterthe_excerptincludes\class-wp-persian.php:280
filterthe_contentincludes\class-wp-persian.php:281
filtercomment_textincludes\class-wp-persian.php:282
filtercomments_numberincludes\class-wp-persian.php:283
filterwp_list_categoriesincludes\class-wp-persian.php:284
filterthe_categoryincludes\class-wp-persian.php:285
actionadmin_headincludes\class-wpp-hooks.php:182
filterpre_get_postsincludes\class-wpp-hooks.php:440
filterposts_whereincludes\class-wpp-hooks.php:442
filterdate_i18nincludes\class-wpp-hooks.php:452
actionadmin_menuincludes\class-wpp-options.php:27
actionadmin_initincludes\class-wpp-options.php:28
actioninitincludes\class-wpp-options.php:29
filterwpp_disable_jalali_dateplugins\wc-persian\wc-persian.php:50
actionadmin_enqueue_scriptsplugins\wc-persian\wc-persian.php:61
Maintenance & Trust

WP-Persian Maintenance & Trust

Maintenance Signals

WordPress version tested5.3.21
Last updatedSep 11, 2020
PHP min version
Downloads171K

Community Trust

Rating84/100
Number of ratings32
Active installs9K
Developer Profile

WP-Persian Developer Profile

Siavash

1 plugin · 9K total installs

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

How We Detect WP-Persian

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-persian/assets/css/wpp-context.css/wp-content/plugins/wp-persian/assets/js/wpp-context.js/wp-content/plugins/wp-persian/assets/css/wp-persian.css/wp-content/plugins/wp-persian/assets/js/wpp-jalali.js/wp-content/plugins/wp-persian/assets/js/wp-persian.js/wp-content/plugins/wc-persian/assets/js/wc-persian.js/wp-content/plugins/wc-persian/assets/css/wc-persian.css
Script Paths
/wp-content/plugins/wp-persian/assets/js/wpp-context.js/wp-content/plugins/wp-persian/assets/js/wpp-jalali.js/wp-content/plugins/wp-persian/assets/js/wp-persian.js/wp-content/plugins/wc-persian/assets/js/wc-persian.js
Version Parameters
wp-persian/assets/css/wpp-context.css?ver=wp-persian/assets/js/wpp-context.js?ver=wp-persian/assets/css/wp-persian.css?ver=wp-persian/assets/js/wpp-jalali.js?ver=wp-persian/assets/js/wp-persian.js?ver=wc-persian/assets/js/wc-persian.js?ver=wc-persian/assets/css/wc-persian.css?ver=

HTML / DOM Fingerprints

JS Globals
window.wp_persianwindow.WP_Persian
FAQ

Frequently Asked Questions about WP-Persian