Interactive Content – H5P Security & Risk Analysis

wordpress.org/plugins/h5p

Create and add rich content to your website for free. Some examples of what you get with H5P are Interactive Video, Quizzes, Collage and Timeline.

40K active installs v1.17.6 PHP + WP 3.8.1+ Updated Apr 13, 2026
editoreducationquizslidervideo
96
A · Safe
CVEs total3
Unpatched0
Last CVEDec 28, 2025
Safety Verdict

Is Interactive Content – H5P Safe to Use in 2026?

Generally Safe

Score 96/100

Interactive Content – H5P has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

3 known CVEsLast CVE: Dec 28, 2025Updated 1mo ago
Risk Assessment

The H5P plugin version 1.17.4 presents a mixed security posture. While it shows strengths in avoiding dangerous functions, has a reasonable percentage of prepared SQL statements, and performs a good number of capability checks, significant concerns arise from its attack surface. A large number of AJAX handlers, specifically 18 out of 20, lack proper authorization checks, creating a substantial entry point for potential unauthorized actions. The plugin also has a history of medium-severity vulnerabilities, including missing authorization and cross-site scripting, suggesting a recurring pattern that warrants attention even though no currently unpatched CVEs are listed.

The static analysis reveals a concerning lack of security for the majority of its AJAX endpoints, which could allow unauthenticated users to trigger plugin functionality. Although taint analysis found no issues, this doesn't negate the risks posed by the exposed AJAX handlers. The vulnerability history, while showing no critical or high severity issues, highlights that past vulnerabilities have often stemmed from authorization and input sanitization weaknesses, aligning with the static analysis findings. The recent vulnerability in late 2025 is also a point of concern, even if it is patched, indicating ongoing security challenges.

In conclusion, the H5P plugin v1.17.4 has some positive security attributes, such as proper SQL statement usage and a good number of capability checks. However, the extensive number of unprotected AJAX handlers is a critical weakness that significantly elevates the risk profile. Coupled with the historical prevalence of authorization and XSS vulnerabilities, users should exercise caution and ensure timely updates when available, despite the absence of currently unpatched CVEs.

Key Concerns

  • 18 AJAX handlers without auth checks
  • 3 medium severity CVEs historically
  • 66% output escaping (potentially unescaped outputs)
  • 27% of SQL queries not using prepared statements
  • Large attack surface with 18 unprotected entry points
Vulnerabilities
3 published

Interactive Content – H5P Security Vulnerabilities

CVEs by Year

1 CVE in 2024
2024
2 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
3

3 total CVEs

CVE-2025-68505medium · 5.3Missing Authorization

H5P <= 1.16.1 - Missing Authorization

Dec 28, 2025 Patched in 1.16.2 (9d)
CVE-2025-62951medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Interactive Content – H5P <= 1.16.0 - Authenticated (Contributor+) Stored Cross-Site Scripting

Oct 13, 2025 Patched in 1.16.1 (30d)
CVE-2024-3111medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

H5P <= 1.15.7 - Authenticated (Contributor+) Stored Cross-Site Scripting

Jun 6, 2024 Patched in 1.15.8 (21d)
Code Analysis
Analyzed Mar 16, 2026

Interactive Content – H5P Code Analysis

Dangerous Functions
0
Raw SQL Queries
43
115 prepared
Unescaped Output
45
89 escaped
Nonce Checks
12
Capability Checks
22
File Operations
48
External Requests
3
Bundled Libraries
0

SQL Query Safety

73% prepared158 total queries

Output Escaping

66% escaped134 total outputs
Attack Surface
18 unprotected

Interactive Content – H5P Attack Surface

Entry Points23
Unprotected18

AJAX Handlers 20

authwp_ajax_h5p_insert_contentadmin\class-h5p-plugin-admin.php:89
authwp_ajax_h5p_insertedadmin\class-h5p-plugin-admin.php:90
authwp_ajax_h5p_library-installadmin\class-h5p-plugin-admin.php:93
authwp_ajax_h5p_library-uploadadmin\class-h5p-plugin-admin.php:94
authwp_ajax_h5p_librariesadmin\class-h5p-plugin-admin.php:95
authwp_ajax_h5p_filesadmin\class-h5p-plugin-admin.php:96
authwp_ajax_h5p_content-type-cacheadmin\class-h5p-plugin-admin.php:97
authwp_ajax_h5p_translationsadmin\class-h5p-plugin-admin.php:98
authwp_ajax_h5p_filteradmin\class-h5p-plugin-admin.php:99
authwp_ajax_h5p_rebuild_cacheadmin\class-h5p-plugin-admin.php:102
authwp_ajax_h5p_content_upgrade_libraryadmin\class-h5p-plugin-admin.php:105
authwp_ajax_h5p_content_upgrade_progressadmin\class-h5p-plugin-admin.php:106
authwp_ajax_h5p_contents_user_dataadmin\class-h5p-plugin-admin.php:109
authwp_ajax_h5p_setFinishedadmin\class-h5p-plugin-admin.php:112
authwp_ajax_h5p_content_resultsadmin\class-h5p-plugin-admin.php:115
authwp_ajax_h5p_my_resultsadmin\class-h5p-plugin-admin.php:118
authwp_ajax_h5p_contentsadmin\class-h5p-plugin-admin.php:121
authwp_ajax_h5p_restrict_libraryadmin\class-h5p-plugin-admin.php:124
authwp_ajax_h5p_embedadmin\class-h5p-plugin-admin.php:130
noprivwp_ajax_h5p_embedadmin\class-h5p-plugin-admin.php:131

REST API Routes 2

GET/wp-json/h5p/v1/post/(?P<id>\d+)public\class-h5p-plugin.php:1494
GET/wp-json/h5p/v1allpublic\class-h5p-plugin.php:1507

Shortcodes 1

[h5p] public\class-h5p-plugin.php:85
WordPress Hooks 24
actionadmin_enqueue_scriptsadmin\class-h5p-plugin-admin.php:75
actionadmin_menuadmin\class-h5p-plugin-admin.php:78
filteradmin_titleadmin\class-h5p-plugin-admin.php:81
filterplugin_action_links_h5p/h5p.phpadmin\class-h5p-plugin-admin.php:84
actionmedia_buttonsadmin\class-h5p-plugin-admin.php:87
actionadmin_footeradmin\class-h5p-plugin-admin.php:88
actionadmin_noticesadmin\class-h5p-plugin-admin.php:127
actiondeleted_useradmin\class-h5p-plugin-admin.php:134
actionadmin_initadmin\class-h5p-plugin-admin.php:376
filterwp_privacy_personal_data_exportersadmin\class-h5p-plugin-admin.php:379
filterwp_privacy_personal_data_erasersadmin\class-h5p-plugin-admin.php:382
actionplugins_loadedh5p.php:37
actionplugins_loadedh5p.php:41
actioninitpublic\class-h5p-plugin.php:79
actionwp_enqueue_scriptspublic\class-h5p-plugin.php:82
actionwp_footerpublic\class-h5p-plugin.php:88
actionh5p_daily_cleanuppublic\class-h5p-plugin.php:91
actionh5p_daily_cleanuppublic\class-h5p-plugin.php:94
actionh5p_daily_cleanuppublic\class-h5p-plugin.php:97
actioninitpublic\class-h5p-plugin.php:100
actionadmin_bar_menupublic\class-h5p-plugin.php:103
actionrest_api_initpublic\class-h5p-plugin.php:106
actionwp_delete_sitepublic\class-h5p-plugin.php:110
actiondelete_blogpublic\class-h5p-plugin.php:114

Scheduled Events 1

h5p_daily_cleanup
Maintenance & Trust

Interactive Content – H5P Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedApr 13, 2026
PHP min version
Downloads886K

Community Trust

Rating96/100
Number of ratings61
Active installs40K
Developer Profile

Interactive Content – H5P Developer Profile

icc0rz

1 plugin · 40K total installs

91
trust score
Avg Security Score
96/100
Avg Patch Time
20 days
View full developer profile
Detection Fingerprints

How We Detect Interactive Content – H5P

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/h5p/h5p-editor-php-library/js/h5p-editor.js/wp-content/plugins/h5p/h5p-editor-php-library/css/h5p-editor.css/wp-content/plugins/h5p/h5p-editor-php-library/styles/h5p-editor.css/wp-content/plugins/h5p/h5p-editor-php-library/styles/h5p-editor.min.css/wp-content/plugins/h5p/h5p-editor-php-library/js/h5p-editor.min.js/wp-content/plugins/h5p/h5p-php-library/js/h5p-php-library.js/wp-content/plugins/h5p/h5p-php-library/css/h5p-php-library.css
Script Paths
/wp-content/plugins/h5p/h5p-editor-php-library/js/h5p-editor.js/wp-content/plugins/h5p/h5p-editor-php-library/js/h5p-editor.min.js/wp-content/plugins/h5p/h5p-php-library/js/h5p-php-library.js
Version Parameters
h5p/h5p.css?ver=h5p/h5p-editor.css?ver=h5p/h5p-editor-php-library/styles/h5p-editor.css?ver=h5p/h5p-editor-php-library/styles/h5p-editor.min.css?ver=h5p/h5p-editor.js?ver=h5p/h5p-editor-php-library/js/h5p-editor.js?ver=h5p/h5p-editor-php-library/js/h5p-editor.min.js?ver=h5p/h5p-php-library.js?ver=

HTML / DOM Fingerprints

CSS Classes
h5p-editorh5p-contenth5p-elementh5p-containerh5p-dialogh5p-modalh5p-progressh5p-error+36 more
HTML Comments
<!-- H5P Embedding --><!-- H5P content --><!-- H5P Player --><!-- H5P Editor -->+8 more
Data Attributes
data-h5p-iddata-h5p-content-iddata-h5p-librarydata-h5p-versiondata-h5p-framedata-h5p-embed-id+55 more
JS Globals
H5PIntegrationH5P
REST Endpoints
/wp-json/h5p/v1/events/wp-json/h5p/v1/content//wp-json/h5p/v1/content-types//wp-json/h5p/v1/libraries//wp-json/h5p/v1/settings//wp-json/h5p/v1/translations/
Shortcode Output
[h5p id="[h5p-content id="[h5p-editor id="[h5p-settings]
FAQ

Frequently Asked Questions about Interactive Content – H5P