JasperReports IO Security & Risk Analysis

wordpress.org/plugins/jasperreports-io

Seamlessly embed highly interactive reports and data visualizations inside your pages and blog posts using the TIBCO JasperReports® IO microservice en …

10 active installs v1.0.0 PHP + WP 5.0+ Updated Apr 16, 2020
chartsjasperjaspersoftreportsvisualizations
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is JasperReports IO Safe to Use in 2026?

Generally Safe

Score 85/100

JasperReports IO 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 "jasperreports-io" v1.0.0 plugin exhibits a concerning security posture due to a significant number of unprotected entry points, particularly within its REST API. With 20 out of 24 total entry points lacking permission callbacks, this plugin presents a wide attack surface that could be exploited by unauthenticated users. The static analysis also reveals a critical lack of proper output escaping, with only 15% of outputs being secured, increasing the risk of cross-site scripting (XSS) vulnerabilities. Furthermore, all identified SQL queries are not using prepared statements, posing a significant risk of SQL injection attacks.

The absence of any recorded CVEs and past vulnerabilities might suggest a clean history, but this is overshadowed by the alarming findings in the static analysis. The taint analysis, while not reporting critical or high-severity flows, did identify all analyzed flows as having unsanitized paths, which is a red flag that requires further investigation. The lack of nonces and capability checks on AJAX handlers and other entry points further exacerbates the security risks.

In conclusion, while the plugin has no known historical vulnerabilities, the current static analysis paints a picture of significant insecurity. The high number of unprotected REST API routes, the prevalence of unescaped output, and the complete absence of prepared statements for SQL queries are major weaknesses. These factors combine to create a high-risk plugin that requires immediate attention to address these fundamental security flaws.

Key Concerns

  • REST API routes without permission callbacks
  • SQL queries not using prepared statements
  • Low percentage of properly escaped output
  • AJAX handlers without auth checks
  • No nonce checks
  • No capability checks
  • All taint flows have unsanitized paths
Vulnerabilities
None known

JasperReports IO Security Vulnerabilities

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

JasperReports IO Code Analysis

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

SQL Query Safety

0% prepared3 total queries

Output Escaping

15% escaped27 total outputs
Data Flows
4 unsanitized

Data Flow Analysis

4 flows4 with unsanitized paths
jrio_overlay_html (viewer\overlay.php:6)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
20 unprotected

JasperReports IO Attack Surface

Entry Points24
Unprotected20

REST API Routes 20

GET/wp-json/jrio/v1/rest_v2/reports/(?P<reportUri>.+)jrio-rest.php:145
POST/wp-json/jrio/v1/rest_v2/reportExecutionsjrio-rest.php:153
GET/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/statusjrio-rest.php:161
GET/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/infojrio-rest.php:169
GET/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)jrio-rest.php:177
GET/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/pages/(?P<pageNumber>[^/]+)/statusjrio-rest.php:185
GET/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/exports/(?P<exportId>[^/]+)/outputResourcejrio-rest.php:193
POST/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/exportsjrio-rest.php:201
POST/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/parametersjrio-rest.php:209
GET/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/exports/(?P<exportId>[^/]+)/statusjrio-rest.php:217
GET/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/exports/(?P<exportId>[^/]+)/attachments/(?P<attachmentName>[^/]+)jrio-rest.php:225
GET/wp-json/jrio/v1/rest_v2/fonts/(?P<fontName>.+)jrio-rest.php:233
GET/wp-json/jrio/v1/rest_v2/resources/(?P<reportUri>.+)jrio-rest.php:241
GET/wp-json/jrio/v1/rest_v2/bundles/(?P<bundleName>.+)jrio-rest.php:249
GET/wp-json/jrio/v1/rest_v2/settings/dateTimeSettingsjrio-rest.php:257
POST/wp-json/jrio/v1/rest_v2/reportExecutions/(?P<executionId>[^/]+)/runActionjrio-rest.php:265
GET/wp-json/jrio-client/v1/(?P<resourcePath>.+)jrio-rest.php:273
GET/wp-json/jrio-viewer/v1/reportjrio-rest.php:281
GET/wp-json/jrio-viewer/v1/overlayjrio-rest.php:289
GET/wp-json/jrio-viewer/v1/viewerjrio-rest.php:297

Shortcodes 4

[jrio] jrio-shortcodes.php:197
[jrio_export] jrio-shortcodes.php:198
[jrio_viewer] jrio-shortcodes.php:199
[jrio_test] jrio-shortcodes.php:200
WordPress Hooks 9
actionadmin_menujrio-options.php:19
actionadmin_initjrio-options.php:20
actionrest_api_initjrio-rest.php:306
filterrest_pre_serve_requestjrio-rest.php:334
actioninitjrio-session.php:141
actionwp_logoutjrio-session.php:142
actionwp_loginjrio-session.php:143
actionwp_enqueue_scriptsjrio-shortcodes.php:195
actionwp_footerjrio-shortcodes.php:202
Maintenance & Trust

JasperReports IO Maintenance & Trust

Maintenance Signals

WordPress version tested5.4.19
Last updatedApr 16, 2020
PHP min version
Downloads1K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

JasperReports IO Developer Profile

Teodor Danciu

1 plugin · 10 total installs

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

How We Detect JasperReports IO

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/jasperreports-io/viewer/util.css/wp-content/plugins/jasperreports-io/viewer/overlay.css/wp-content/plugins/jasperreports-io/viewer/overlay.js/wp-content/plugins/jasperreports-io/viewer/report-util.js/wp-content/plugins/jasperreports-io/viewer/viewer-util.js/wp-content/plugins/jasperreports-io/optimized-scripts/jrio/jrio.js
Script Paths
/wp-content/plugins/jasperreports-io/viewer/report-util.js/wp-content/plugins/jasperreports-io/viewer/viewer-util.js/wp-content/plugins/jasperreports-io/optimized-scripts/jrio/jrio.js
Version Parameters
jrio-report-util-js?ver=jrio-viewer-util-js?ver=jrio/jrio.js?ver=

HTML / DOM Fingerprints

CSS Classes
jrio_report_framejrio_viewer_close
Data Attributes
data-jrio-urldata-jrio-datadata-viewer-url
JS Globals
jrio_call_viewerjrio_hide_viewerto_create_jrio_viewer
REST Endpoints
/jrio-viewer/v1/report/jrio-viewer/v1/overlay/jrio-viewer/v1/viewer
Shortcode Output
[jrio[jrio_export[jrio_viewer[jrio_test
FAQ

Frequently Asked Questions about JasperReports IO