Easy Player – HTML5 Video,YouTube,Video.js Security & Risk Analysis

wordpress.org/plugins/easy-player

Interactive video player on your posts and pages with Shortcode and Gutenberg block editor.

20 active installs v1.5.1 PHP 5.6+ WP 5.0+ Updated Dec 4, 2025
html5-videoplayervideovideojsyoutube
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Easy Player – HTML5 Video,YouTube,Video.js Safe to Use in 2026?

Generally Safe

Score 100/100

Easy Player – HTML5 Video,YouTube,Video.js has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 5mo ago
Risk Assessment

The "easy-player" v1.5.1 plugin exhibits a generally good security posture with several strengths. It correctly utilizes prepared statements for all SQL queries and properly escapes all output, which are crucial security practices. The absence of file operations and external HTTP requests further reduces potential attack vectors. The plugin also implements a reasonable number of nonce and capability checks. However, there are notable concerns regarding its attack surface. The presence of two REST API routes without permission callbacks, and one AJAX handler without an authentication check, exposes significant entry points to potential unauthorized access and manipulation. The use of the `unserialize` function five times, while not directly flagged as a taint flow issue in this analysis, is a high-risk function that warrants careful scrutiny in any real-world scenario, as it can lead to Remote Code Execution if not handled with extreme caution and strict input validation.

The vulnerability history for "easy-player" is clean, with no recorded CVEs. This, combined with the plugin's adherence to output escaping and prepared statements, suggests a development team that is likely aware of security best practices. However, the lack of historical vulnerabilities could also mean that specific attack vectors, particularly those related to its exposed entry points, have not been thoroughly tested or exploited yet. The critical weakness lies in the unprotected REST API routes and AJAX handler, which could be exploited by unauthenticated users to perform unintended actions or gain unauthorized access. While the static analysis didn't reveal critical taint flows, the combination of `unserialize` usage and unprotected entry points presents a considerable risk that should be prioritized for remediation.

Key Concerns

  • REST API routes without permission callbacks
  • AJAX handler without authentication check
  • Use of unserialize function
Vulnerabilities
None known

Easy Player – HTML5 Video,YouTube,Video.js Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Easy Player – HTML5 Video,YouTube,Video.js Release Timeline

v1.5.1Current
v1.5.0
v1.4.15
v1.4.14
v1.4.13
v1.4.12
v1.4.11
v1.4.10
v1.4.9
v1.4.8
v1.4.7
v1.4.6
v1.4.5
v1.4.4
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.3
v1.3.2
Code Analysis
Analyzed Mar 16, 2026

Easy Player – HTML5 Video,YouTube,Video.js Code Analysis

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

Dangerous Functions Found

unserialize$player=unserialize(get_option($option_name));admin\class-easy-player-admin.php:514
unserialize$player = unserialize(get_option($this->items[$key]->option_name));admin\partials\easy-player-admin-display.php:167
unserialize$easy_player_setting=unserialize(get_option('easy_player_setting'));includes\class-easy-player-settings.php:49
unserialize$easy_player_control=unserialize(get_option('easy_player_control'));includes\class-easy-player-settings.php:55
unserializereturn unserialize(get_option($option_name));public\class-easy-player-public.php:125

SQL Query Safety

100% prepared6 total queries

Output Escaping

100% escaped293 total outputs
Data Flows · Security
2 unsanitized

Data Flow Analysis

3 flows2 with unsanitized paths
easy_player_manage (admin\class-easy-player-admin.php:311)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Easy Player – HTML5 Video,YouTube,Video.js Attack Surface

Entry Points4
Unprotected2

AJAX Handlers 1

authwp_ajax_easy_player_shortcode_copyincludes\helper.php:36

REST API Routes 2

GET/wp-json/easy-player/v1/settings/easy-player.php:122
GET/wp-json/easy-player/v1/controls/easy-player.php:128

Shortcodes 1

[easy-player] includes\class-easy-player.php:195
WordPress Hooks 11
actionadmin_post_easy-player-deleteadmin\class-easy-player-admin.php:88
actionuse_block_editor_for_postadmin\class-easy-player-admin.php:90
actioniniteasy-player.php:103
actionrest_api_initeasy-player.php:135
actionplugins_loadedincludes\class-easy-player.php:155
actionadmin_enqueue_scriptsincludes\class-easy-player.php:170
actionadmin_enqueue_scriptsincludes\class-easy-player.php:171
actioninitincludes\class-easy-player.php:173
actionadmin_menuincludes\class-easy-player.php:175
actionwp_enqueue_scriptsincludes\class-easy-player.php:192
actionwp_enqueue_scriptsincludes\class-easy-player.php:193
Maintenance & Trust

Easy Player – HTML5 Video,YouTube,Video.js Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 4, 2025
PHP min version5.6
Downloads3K

Community Trust

Rating0/100
Number of ratings0
Active installs20
Developer Profile

Easy Player – HTML5 Video,YouTube,Video.js Developer Profile

Nashir Uddin

5 plugins · 100 total installs

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

How We Detect Easy Player – HTML5 Video,YouTube,Video.js

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/easy-player/assets/css/easy-player-fantasy.css/wp-content/plugins/easy-player/assets/css/easy-player-videojs.css/wp-content/plugins/easy-player/admin/css/easy-player-admin.css/wp-content/plugins/easy-player/admin/js/easy-player-admin.js/wp-content/plugins/easy-player/build/index.js
Script Paths
/wp-content/plugins/easy-player/admin/js/easy-player-admin.js/wp-content/plugins/easy-player/build/index.js
Version Parameters
easy-player/assets/css/easy-player-fantasy.css?ver=easy-player/assets/css/easy-player-videojs.css?ver=easy-player/admin/css/easy-player-admin.css?ver=easy-player/admin/js/easy-player-admin.js?ver=easy-player/build/index.js?ver=

HTML / DOM Fingerprints

CSS Classes
easy-player-containerep-responsive-wrapperep-responsive-wrapper--16-9ep-controlsep-play-pause-buttonep-volume-buttonep-mute-buttonep-progress-bar+2 more
Data Attributes
data-player-iddata-settings
JS Globals
window.EasyPlayerInit
REST Endpoints
/wp-json/easy-player/v1/settings//wp-json/easy-player/v1/controls/
Shortcode Output
[easy_playereasy_player_id_
FAQ

Frequently Asked Questions about Easy Player – HTML5 Video,YouTube,Video.js