Ezoic Security & Risk Analysis

wordpress.org/plugins/ezoic-integration

Ezoic plugin provides a simple and intuitive way to integrate and connect with the entire Ezoic technology platform for ad optimization and revenue gr …

10K active installs v2.22.3 PHP 5.4+ WP 5.2.0+ Updated Mar 2, 2026
adsads-txtezoicmonetizationrevenue
97
A · Safe
CVEs total2
Unpatched0
Last CVENov 17, 2022
Safety Verdict

Is Ezoic Safe to Use in 2026?

Generally Safe

Score 97/100

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

2 known CVEsLast CVE: Nov 17, 2022Updated 1mo ago
Risk Assessment

The Ezoic Integration plugin v2.22.3 presents a mixed security posture. While it shows some good practices like a low number of bundled libraries and a reasonable percentage of SQL queries using prepared statements, significant concerns emerge from its attack surface and output escaping. A notable portion of its REST API routes lack permission callbacks, creating an accessible entry point for potential attackers. The taint analysis, while not revealing critical or high-severity flows in this specific analysis, shows that all analyzed flows had unsanitized paths, indicating a general weakness in input handling that requires further investigation. The plugin's vulnerability history is a significant red flag, with two known CVEs, including one critical and one high-severity vulnerability, primarily related to Cross-site Scripting. The fact that these vulnerabilities are now patched mitigates immediate risk, but the pattern suggests a history of coding practices that can lead to exploitable flaws. Overall, while the latest version may have addressed past vulnerabilities, the current static analysis reveals potential weaknesses in the attack surface and input sanitization that warrant caution and ongoing monitoring.

Key Concerns

  • REST API routes without permission callbacks
  • Unsanitized paths in all analyzed taint flows
  • Low percentage of properly escaped output
  • Low number of nonce checks
  • Low number of capability checks
  • Vulnerability history: 1 critical CVE
  • Vulnerability history: 1 high CVE
Vulnerabilities
2

Ezoic Security Vulnerabilities

CVEs by Year

2 CVEs in 2022
2022
Patched Has unpatched

Severity Breakdown

Critical
1
High
1

2 total CVEs

CVE-2022-41132critical · 9.8Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Ezoic <= 2.8.8 - Missing Authorization to Stored Cross-Site Scripting

Nov 17, 2022 Patched in 2.8.9 (748d)
CVE-2022-41315high · 7.2Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Ezoic <= 2.8.8 - Authenticated (Admin+) Stored Cross-Site Scripting

Nov 17, 2022 Patched in 2.8.9 (432d)
Code Analysis
Analyzed Mar 16, 2026

Ezoic Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
9 prepared
Unescaped Output
112
43 escaped
Nonce Checks
3
Capability Checks
1
File Operations
40
External Requests
56
Bundled Libraries
0

SQL Query Safety

69% prepared13 total queries

Output Escaping

28% escaped155 total outputs
Data Flows
10 unsanitized

Data Flow Analysis

10 flows10 with unsanitized paths
request_data_from_ezoic (admin\class-ezoic-integration-renderer.php:576)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
6 unprotected

Ezoic Attack Surface

Entry Points18
Unprotected6

REST API Routes 18

GET/wp-json/ezoic/v1verifyincludes\class-ezoic-integration-authentication.php:16
GET/wp-json/ezoic-cms/v1/export/initiateincludes\content\cms\class-ezoic-cms-export.php:49
GET/wp-json/ezoic-cms/v1/export/cancelincludes\content\cms\class-ezoic-cms-export.php:56
GET/wp-json/ezoic-cms/v1/export/verifyincludes\content\cms\class-ezoic-cms-export.php:63
GET/wp-json/ezoic-cms/v1/export/cleanupincludes\content\cms\class-ezoic-cms-export.php:70
GET/wp-json/ezoic-cms/v1/export/retryincludes\content\cms\class-ezoic-cms-export.php:77
GET/wp-json/ezoic-cms/v1/export/menusincludes\content\cms\class-ezoic-cms-export.php:84
GET/wp-json/ezoic-cms/v1/sync/optionsincludes\content\cms\class-ezoic-cms-sync.php:8
GET/wp-json/ezoic-cms/v1/sync/themeincludes\content\cms\class-ezoic-cms-sync.php:17
GET/wp-json/ezoic-cms/v1/sync/linklistsincludes\content\cms\class-ezoic-cms-sync.php:26
GET/wp-json/ezoic-emote/v1/export/initiateincludes\content\emote\class-ezoic-emote-export.php:53
GET/wp-json/ezoic-emote/v1/export/cancelincludes\content\emote\class-ezoic-emote-export.php:60
GET/wp-json/ezoic-emote/v1/export/verifyincludes\content\emote\class-ezoic-emote-export.php:67
GET/wp-json/ezoic-emote/v1/export/cleanupincludes\content\emote\class-ezoic-emote-export.php:74
GET/wp-json/ezoic-emote/v1/export/retryincludes\content\emote\class-ezoic-emote-export.php:81
GET/wp-json/ezoic-emote/v1/replaceincludes\content\emote\class-ezoic-emote-export.php:88
GET/wp-json/ezoic-emote/v1/emoteincludes\content\emote\class-ezoic-emote-export.php:95
GET/wp-json/ezoic-emote/v1/emote-checkincludes\content\emote\class-ezoic-emote-export.php:102
WordPress Hooks 208
actionmanage_posts_columnsadmin\class-ezoic-cdn-settings.php:52
filtermanage_posts_custom_columnadmin\class-ezoic-cdn-settings.php:53
actionmanage_pages_columnsadmin\class-ezoic-cdn-settings.php:55
filtermanage_pages_custom_columnadmin\class-ezoic-cdn-settings.php:56
actioninitadmin\class-ezoic-speed-settings.php:11
filterscript_loader_srcadmin\class-ezoic-speed-settings.php:15
filterstyle_loader_srcadmin\class-ezoic-speed-settings.php:16
actionwp_default_scriptsadmin\class-ezoic-speed-settings.php:20
actiontemplate_redirectadmin\class-ezoic-speed-settings.php:23
filtertiny_mce_pluginsadmin\class-ezoic-speed-settings.php:411
filterwp_resource_hintsadmin\class-ezoic-speed-settings.php:412
actionwidgets_initincludes\adpos\class-ezoic-adpos.php:39
filterwidgets_initincludes\adpos\class-ezoic-adpos.php:42
filterwidgets_initincludes\adpos\class-ezoic-adpos.php:44
actionparse_requestincludes\adstxtmanager\class-ezoic-adstxtmanager.php:29
actionadmin_initincludes\adstxtmanager\class-ezoic-adstxtmanager.php:35
actionupdate_option_adstxtmanager_idincludes\adstxtmanager\class-ezoic-adstxtmanager.php:39
actionadmin_noticesincludes\adstxtmanager\class-ezoic-adstxtmanager.php:46
actionez_after_activateincludes\adtester\class-ezoic-adtester.php:47
actioninitincludes\adtester\class-ezoic-adtester.php:48
actioninitincludes\adtester\class-ezoic-adtester.php:55
actionwpincludes\adtester\class-ezoic-adtester.php:56
actionwp_headincludes\adtester\class-ezoic-adtester.php:57
actionset_current_userincludes\adtester\class-ezoic-adtester.php:58
actionwp_headincludes\adtester\class-ezoic-adtester.php:59
actionwp_headincludes\adtester\class-ezoic-adtester.php:63
actionwp_footerincludes\adtester\class-ezoic-adtester.php:64
actionshutdownincludes\adtester\class-ezoic-adtester.php:65
actionwp_print_footer_scriptsincludes\adtester\class-ezoic-adtester.php:66
filterthe_contentincludes\adtester\class-ezoic-adtester.php:69
filterthe_excerptincludes\adtester\class-ezoic-adtester.php:70
actioninitincludes\adtester\class-ezoic-adtester.php:71
actionwp_body_openincludes\adtester\class-ezoic-adtester.php:72
actionwp_footerincludes\adtester\class-ezoic-adtester.php:73
actionez_debug_outputincludes\adtester\class-ezoic-adtester.php:77
actionpublish_postincludes\cdn\class-ezoic-cdn.php:30
actionpublish_pageincludes\cdn\class-ezoic-cdn.php:31
actiontransition_post_statusincludes\cdn\class-ezoic-cdn.php:32
actioncomment_postincludes\cdn\class-ezoic-cdn.php:35
actionezoic_purge_domainincludes\cdn\class-ezoic-cdn.php:38
actionezoic_purge_urlincludes\cdn\class-ezoic-cdn.php:39
actionezoic_purge_urlsincludes\cdn\class-ezoic-cdn.php:40
actionezoic_purge_homeincludes\cdn\class-ezoic-cdn.php:41
actionezoic_purge_postincludes\cdn\class-ezoic-cdn.php:42
actionpost_updatedincludes\cdn\class-ezoic-cdn.php:47
actionafter_delete_postincludes\cdn\class-ezoic-cdn.php:48
actionedit_commentincludes\cdn\class-ezoic-cdn.php:51
actiondelete_commentincludes\cdn\class-ezoic-cdn.php:52
actiontrash_commentincludes\cdn\class-ezoic-cdn.php:53
actionwp_set_comment_statusincludes\cdn\class-ezoic-cdn.php:54
actiontransition_comment_statusincludes\cdn\class-ezoic-cdn.php:55
actionswitch_themeincludes\cdn\class-ezoic-cdn.php:58
actionactivated_pluginincludes\cdn\class-ezoic-cdn.php:59
actiondeactivated_pluginincludes\cdn\class-ezoic-cdn.php:60
actionwp_create_nav_menuincludes\cdn\class-ezoic-cdn.php:63
actionwp_update_nav_menuincludes\cdn\class-ezoic-cdn.php:64
actionwp_delete_nav_menuincludes\cdn\class-ezoic-cdn.php:65
actionw3tc_flush_postsincludes\cdn\class-ezoic-cdn.php:68
actionw3tc_flush_postincludes\cdn\class-ezoic-cdn.php:69
actionw3tc_flush_allincludes\cdn\class-ezoic-cdn.php:70
actionwp_cache_clearedincludes\cdn\class-ezoic-cdn.php:71
actionrocket_purge_cacheincludes\cdn\class-ezoic-cdn.php:72
actionafter_rocket_clean_postincludes\cdn\class-ezoic-cdn.php:73
actiontemplate_redirectincludes\cdn\class-ezoic-cdn.php:76
actionadmin_noticesincludes\cdn\class-ezoic-cdn.php:77
actionezoic_cdn_scheduled_clearincludes\cdn\class-ezoic-cdn.php:80
actionezoic_purge_domainincludes\cdn\class-ezoic-cdn.php:81
actionezoic_purge_urlincludes\cdn\class-ezoic-cdn.php:82
actionezoic_purge_urlsincludes\cdn\class-ezoic-cdn.php:83
actionezoic_purge_homeincludes\cdn\class-ezoic-cdn.php:84
actionezoic_purge_postincludes\cdn\class-ezoic-cdn.php:85
actionpublish_future_postincludes\cdn\class-facebook-share-cache.php:34
actionpublish_postincludes\cdn\class-facebook-share-cache.php:35
actionpublish_pageincludes\cdn\class-facebook-share-cache.php:36
actionezoic_purge_urlincludes\cdn\class-facebook-share-cache.php:37
actionezoic_purge_urlsincludes\cdn\class-facebook-share-cache.php:38
actionezoic_purge_homeincludes\cdn\class-facebook-share-cache.php:39
actionwp_footerincludes\class-ezoic-integration-logger.php:187
actionadmin_footerincludes\class-ezoic-integration-logger.php:190
actionplugins_loadedincludes\class-ezoic-integration.php:206
actionadmin_initincludes\class-ezoic-integration.php:227
actionez_after_activateincludes\class-ezoic-integration.php:231
actionrest_api_initincludes\class-ezoic-integration.php:234
actionadmin_enqueue_scriptsincludes\class-ezoic-integration.php:240
actionadmin_enqueue_scriptsincludes\class-ezoic-integration.php:241
actionadmin_enqueue_scriptsincludes\class-ezoic-integration.php:243
actionadmin_menuincludes\class-ezoic-integration.php:245
actionadmin_initincludes\class-ezoic-integration.php:246
actionadmin_initincludes\class-ezoic-integration.php:247
actionadmin_initincludes\class-ezoic-integration.php:248
actionadmin_initincludes\class-ezoic-integration.php:249
actionadmin_initincludes\class-ezoic-integration.php:250
actionadmin_initincludes\class-ezoic-integration.php:251
actionadmin_initincludes\class-ezoic-integration.php:252
actionadmin_initincludes\class-ezoic-integration.php:253
actionadmin_initincludes\class-ezoic-integration.php:254
actionadmin_initincludes\class-ezoic-integration.php:256
actionactivated_pluginincludes\class-ezoic-integration.php:257
actiondeactivated_pluginincludes\class-ezoic-integration.php:258
actionupgrader_process_completeincludes\class-ezoic-integration.php:259
actionadmin_footerincludes\class-ezoic-integration.php:261
actionupdate_option_ezoic_integration_optionsincludes\class-ezoic-integration.php:264
actionpost_updatedincludes\class-ezoic-integration.php:267
actioncomment_postincludes\class-ezoic-integration.php:268
actionupdate_option_permalink_structureincludes\class-ezoic-integration.php:269
actionsave_postincludes\class-ezoic-integration.php:270
actionafter_delete_postincludes\class-ezoic-integration.php:271
actioncreate_categoryincludes\class-ezoic-integration.php:272
actiondelete_categoryincludes\class-ezoic-integration.php:273
actioncreate_termincludes\class-ezoic-integration.php:274
actiondelete_termincludes\class-ezoic-integration.php:275
actionwp_create_nav_menuincludes\class-ezoic-integration.php:276
actionwp_update_nav_menuincludes\class-ezoic-integration.php:277
actionwp_delete_nav_menuincludes\class-ezoic-integration.php:278
actionrest_api_initincludes\class-ezoic-integration.php:370
actioncreate_termincludes\content\cms\class-ezoic-cms.php:34
actionedit_termincludes\content\cms\class-ezoic-cms.php:35
actiondelete_termincludes\content\cms\class-ezoic-cms.php:36
actioncustomize_save_afterincludes\content\cms\class-ezoic-cms.php:37
actionwp_generate_attachment_metadataincludes\content\cms\class-ezoic-cms.php:39
actiondelete_attachmentincludes\content\cms\class-ezoic-cms.php:40
actionpublish_to_publishincludes\content\cms\class-ezoic-cms.php:43
actiondraft_to_publishincludes\content\cms\class-ezoic-cms.php:44
actionpublish_to_draftincludes\content\cms\class-ezoic-cms.php:45
actionwp_after_insert_postincludes\content\cms\class-ezoic-cms.php:49
actionpublish_to_trashincludes\content\cms\class-ezoic-cms.php:50
actiondraft_to_trashincludes\content\cms\class-ezoic-cms.php:51
actionauto-draft_to_trashincludes\content\cms\class-ezoic-cms.php:52
actionwp_create_nav_menuincludes\content\cms\class-ezoic-cms.php:64
actionwp_update_nav_menuincludes\content\cms\class-ezoic-cms.php:65
actionwp_delete_nav_menuincludes\content\cms\class-ezoic-cms.php:66
actiondelete_userincludes\content\cms\class-ezoic-cms.php:68
actionuser_registerincludes\content\cms\class-ezoic-cms.php:69
actionprofile_updateincludes\content\cms\class-ezoic-cms.php:70
actionrest_api_initincludes\content\cms\class-ezoic-cms.php:82
actionrest_api_initincludes\content\cms\class-ezoic-cms.php:83
actionrest_api_initincludes\content\cms\class-ezoic-cms.php:84
actionrest_api_initincludes\content\cms\class-ezoic-cms.php:85
actionez_cms_export_initincludes\content\cms\class-ezoic-cms.php:87
actioncomments_templateincludes\content\emote\class-ezoic-emote.php:26
filterpre_render_blockincludes\content\emote\class-ezoic-emote.php:27
actionwp_enqueue_scriptsincludes\content\emote\class-ezoic-emote.php:28
actionrest_api_initincludes\content\emote\class-ezoic-emote.php:38
actionez_emote_import_initincludes\content\emote\class-ezoic-emote.php:39
actionplugins_loadedincludes\integration\class-ezoic-wp-integration.php:25
actionshutdownincludes\integration\class-ezoic-wp-integration.php:26
actionadmin_initincludes\leap\class-ezoic-leap.php:25
actionactivated_pluginincludes\leap\class-ezoic-leap.php:27
actiondeactivated_pluginincludes\leap\class-ezoic-leap.php:28
actionupgrader_process_completeincludes\leap\class-ezoic-leap.php:29
actionget_template_partincludes\microdata\class-ezoic-microdata.php:20
filterquery_varsincludes\microdata\class-ezoic-microdata.php:21
filterthe_timeincludes\microdata\class-ezoic-microdata.php:22
filterthe_contentincludes\microdata\class-ezoic-microdata.php:23
filternavigation_markup_templateincludes\microdata\class-ezoic-microdata.php:24
filterbloginfoincludes\microdata\class-ezoic-microdata.php:25
filterget_sidebarincludes\microdata\class-ezoic-microdata.php:26
filterget_the_authorincludes\microdata\class-ezoic-microdata.php:27
filterget_the_archive_titleincludes\microdata\class-ezoic-microdata.php:28
filterwp_list_categoriesincludes\microdata\class-ezoic-microdata.php:29
filterget_the_author_display_nameincludes\microdata\class-ezoic-microdata.php:30
filterthe_author_posts_linkincludes\microdata\class-ezoic-microdata.php:31
filtercomments_numberincludes\microdata\class-ezoic-microdata.php:32
filterget_comment_author_linkincludes\microdata\class-ezoic-microdata.php:33
filterget_comment_author_url_linkincludes\microdata\class-ezoic-microdata.php:34
filtercomment_reply_linkincludes\microdata\class-ezoic-microdata.php:35
filterget_avatarincludes\microdata\class-ezoic-microdata.php:36
filterpost_thumbnail_htmlincludes\microdata\class-ezoic-microdata.php:37
filtercomments_popup_link_attributesincludes\microdata\class-ezoic-microdata.php:38
filterwp_kses_allowed_htmlincludes\microdata\class-ezoic-microdata.php:39
filterthe_excerptincludes\microdata\class-ezoic-microdata.php:40
filterthe_tagsincludes\microdata\class-ezoic-microdata.php:41
filterget_search_formincludes\microdata\class-ezoic-microdata.php:42
filterthe_categoryincludes\microdata\class-ezoic-microdata.php:43
filterdynamic_sidebar_beforeincludes\microdata\class-ezoic-microdata.php:44
filterdynamic_sidebar_afterincludes\microdata\class-ezoic-microdata.php:45
filterez_title_primaryincludes\microdata\class-ezoic-microdata.php:48
filterez_headlineincludes\microdata\class-ezoic-microdata.php:49
filterez_title_secondaryincludes\microdata\class-ezoic-microdata.php:50
filterez_next_post_titleincludes\microdata\class-ezoic-microdata.php:51
filterez_previous_post_titleincludes\microdata\class-ezoic-microdata.php:52
filterez_widget_outputincludes\microdata\class-ezoic-microdata.php:53
filterez_body_attributesincludes\microdata\class-ezoic-microdata.php:56
filterez_main_attributesincludes\microdata\class-ezoic-microdata.php:57
filterez_author_metaincludes\microdata\class-ezoic-microdata.php:58
filterez_author_attributesincludes\microdata\class-ezoic-microdata.php:59
filterez_pagination_linksincludes\microdata\class-ezoic-microdata.php:60
filterez_comment_replaceincludes\microdata\class-ezoic-microdata.php:61
filterez_head_tagincludes\microdata\class-ezoic-microdata.php:62
filterthe_contentpublic\class-ezoic-integration-public.php:62
filterwp_footerpublic\class-ezoic-integration-public.php:63
filterthe_titlepublic\class-ezoic-integration-public.php:64
actiondynamic_sidebar_paramspublic\class-ezoic-integration-public.php:65
filterget_sidebarpublic\class-ezoic-integration-public.php:66
actionwp_enqueue_scriptspublic\class-ezoic-integration-public.php:69
actionwp_enqueue_scriptspublic\class-ezoic-integration-public.php:70
actioninitpublic\class-ezoic-integration-public.php:73
actionshutdownpublic\class-ezoic-integration-public.php:83
filterez_widget_outputpublic\class-ezoic-integration-public.php:89
filterez_buffered_final_contentpublic\class-ezoic-integration-public.php:90
filterez_headlinepublic\class-ezoic-integration-public.php:91
actionwp_headpublic\class-ezoic-integration-public.php:351
actionwp_headpublic\class-ezoic-integration-public.php:367
actionwp_headpublic\class-ezoic-integration-public.php:372
actionwp_footerpublic\class-ezoic-integration-public.php:377
filterlitespeed_optimize_js_excludespublic\class-ezoic-integration-public.php:382
filterlitespeed_optm_js_defer_excpublic\class-ezoic-integration-public.php:383
filterwptouch_addon_cache_current_pagepublic\class-ezoic-integration-public.php:479

Scheduled Events 1

fetch_placeholders
Maintenance & Trust

Ezoic Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 2, 2026
PHP min version5.4
Downloads2.0M

Community Trust

Rating66/100
Number of ratings52
Active installs10K
Developer Profile

Ezoic Developer Profile

ezoic

3 plugins · 14K total installs

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

How We Detect Ezoic

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

Asset Fingerprints

HTML / DOM Fingerprints

FAQ

Frequently Asked Questions about Ezoic