Easy Charts Security & Risk Analysis

wordpress.org/plugins/easy-charts

Build simple, reusable, customizable charts on any page or post with ease.

1K active installs v1.2.5 PHP + WP 3.0+ Updated Aug 25, 2025
barchartgraphlinepie
99
A · Safe
CVEs total1
Unpatched0
Last CVEFeb 22, 2025
Safety Verdict

Is Easy Charts Safe to Use in 2026?

Generally Safe

Score 99/100

Easy Charts has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Feb 22, 2025Updated 7mo ago
Risk Assessment

The 'easy-charts' plugin v1.2.5 exhibits a mixed security posture. On the positive side, it demonstrates good practices by exclusively using prepared statements for SQL queries, having a high percentage of properly escaped output, and performing no file operations or external HTTP requests. The absence of critical or high-severity taint flows and dangerous functions is also reassuring. However, significant concerns arise from the attack surface analysis. The plugin exposes three AJAX handlers without authentication checks, representing a notable risk of unauthorized actions if these handlers can be triggered by unauthenticated users. The presence of a past medium-severity Cross-site Scripting (XSS) vulnerability, even though currently patched, suggests a historical tendency for input sanitization issues and warrants continued vigilance. While current code signals are generally strong, the unprotected AJAX endpoints remain a critical point of attention.

Key Concerns

  • Unprotected AJAX handlers
  • Past medium severity CVE (XSS)
Vulnerabilities
1

Easy Charts Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-26893medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Easy Charts <= 1.2.3 - Authenticated (Contributor+) Stored Cross-Site Scripting

Feb 22, 2025 Patched in 1.2.4 (10d)
Code Analysis
Analyzed Mar 16, 2026

Easy Charts Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
4
61 escaped
Nonce Checks
2
Capability Checks
4
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

94% escaped65 total outputs
Attack Surface
3 unprotected

Easy Charts Attack Surface

Entry Points5
Unprotected3

AJAX Handlers 4

authwp_ajax_easy_charts_save_chart_dataadmin\class-easy-charts-admin.php:203
authwp_ajax_easy_charts_get_published_chartsadmin\class-easy-charts-admin.php:204
authwp_ajax_easy_charts_save_chart_dataincludes\class-easy-charts.php:175
authwp_ajax_easy_charts_get_published_chartsincludes\class-easy-charts.php:176

Shortcodes 1

[easy_chart] public\class-easy-charts-public.php:157
WordPress Hooks 14
filtermce_external_pluginsadmin\class-easy-charts-admin.php:592
filtermce_buttonsadmin\class-easy-charts-admin.php:593
actionplugins_loadedincludes\class-easy-charts.php:137
actionadmin_enqueue_scriptsincludes\class-easy-charts.php:151
actionadmin_enqueue_scriptsincludes\class-easy-charts.php:152
actioninitincludes\class-easy-charts.php:153
actionadd_meta_boxesincludes\class-easy-charts.php:154
actionsave_postincludes\class-easy-charts.php:155
actionadmin_headincludes\class-easy-charts.php:156
actionadmin_print_scriptsincludes\class-easy-charts.php:157
actionadmin_menuincludes\class-easy-charts.php:158
actionwp_enqueue_scriptsincludes\class-easy-charts.php:172
actioninitincludes\class-easy-charts.php:173
actioninitincludes\class-easy-charts.php:174
Maintenance & Trust

Easy Charts Maintenance & Trust

Maintenance Signals

WordPress version tested6.7.5
Last updatedAug 25, 2025
PHP min version
Downloads47K

Community Trust

Rating86/100
Number of ratings12
Active installs1K
Developer Profile

Easy Charts Developer Profile

Kiran Potphode

3 plugins · 1K total installs

90
trust score
Avg Security Score
94/100
Avg Patch Time
10 days
View full developer profile
Detection Fingerprints

How We Detect Easy Charts

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/easy-charts/admin/css/insert-chart.css/wp-content/plugins/easy-charts/admin/css/easy-charts-admin.css/wp-content/plugins/easy-charts/admin/js/jspreadsheet/jsuites.min.css/wp-content/plugins/easy-charts/admin/js/jspreadsheet/jspreadsheet.css/wp-content/plugins/easy-charts/admin/css/jquery-ui.min.css/wp-content/plugins/easy-charts/admin/css/jquery.pwstabs.min.css/wp-content/plugins/easy-charts/admin/css/font-awesome.min.css/wp-content/plugins/easy-charts/admin/js/easy-charts-admin.js+9 more
Script Paths
/wp-content/plugins/easy-charts/admin/js/easy-charts-admin.js?ver=/wp-content/plugins/easy-charts/admin/js/jspreadsheet/jsuites.min.js?ver=/wp-content/plugins/easy-charts/admin/js/jspreadsheet/jspreadsheet.js?ver=/wp-content/plugins/easy-charts/includes/js/d3.min.js?ver=/wp-content/plugins/easy-charts/includes/js/filesaver.js?ver=/wp-content/plugins/easy-charts/includes/js/canvg.js?ver=+4 more
Version Parameters
easy-charts/admin/css/insert-chart.css?ver=easy-charts/admin/css/easy-charts-admin.css?ver=easy-charts/admin/js/jspreadsheet/jsuites.min.css?ver=easy-charts/admin/js/jspreadsheet/jspreadsheet.css?ver=easy-charts/admin/css/jquery-ui.min.css?ver=easy-charts/admin/css/jquery.pwstabs.min.css?ver=easy-charts/admin/css/font-awesome.min.css?ver=easy-charts/admin/js/easy-charts-admin.js?ver=easy-charts/admin/js/jspreadsheet/jsuites.min.js?ver=easy-charts/admin/js/jspreadsheet/jspreadsheet.js?ver=easy-charts/includes/js/d3.min.js?ver=easy-charts/includes/js/filesaver.js?ver=easy-charts/includes/js/canvg.js?ver=easy-charts/includes/js/canvas-toblob.js?ver=easy-charts/includes/js/uvcharts.min.js?ver=easy-charts/admin/js/jquery.pwstabs.min.js?ver=easy-charts/admin/js/jquery.bootstrap-touchspin.min.js?ver=

HTML / DOM Fingerprints

JS Globals
ajaxurl
FAQ

Frequently Asked Questions about Easy Charts