WP Popups – WordPress Popup builder Security & Risk Analysis

wordpress.org/plugins/wp-popups-lite

WP Popups is the best popup maker for WordPress. Easy but powerful plugin with display filters, scroll-triggered popups, and Gutenberg block editor.

30K active installs v2.2.0.7 PHP 5.7+ WP 3.6+ Updated Feb 25, 2026
popup-builderpopup-makerpopupswp-popupwp-popups
95
A · Safe
CVEs total6
Unpatched0
Last CVEJan 11, 2026
Safety Verdict

Is WP Popups – WordPress Popup builder Safe to Use in 2026?

Generally Safe

Score 95/100

WP Popups – WordPress Popup builder has a strong security track record. Known vulnerabilities have been patched promptly.

6 known CVEsLast CVE: Jan 11, 2026Updated 1mo ago
Risk Assessment

The "wp-popups-lite" plugin v2.2.0.7 presents a mixed security posture. While it demonstrates good practices such as a significant number of nonce checks and capability checks, and a lack of dangerous functions or bundled libraries, there are notable areas of concern. The static analysis reveals a considerable attack surface with 5 AJAX handlers lacking authentication checks, which is a direct entry point for potential unauthorized actions. Furthermore, the taint analysis indicates 7 flows with unsanitized paths, suggesting a risk of vulnerabilities if these paths are not properly handled, even though no critical or high severity issues were flagged in this specific analysis. The plugin's vulnerability history is a significant red flag, with a history of 6 medium severity CVEs, including missing authorization and cross-site scripting. Although there are no currently unpatched CVEs, the recurrence of these vulnerability types indicates a persistent weakness in input validation and authorization enforcement within the plugin's development or maintenance lifecycle. This suggests a potential for similar vulnerabilities to emerge if development practices do not improve.

Key Concerns

  • 5 AJAX handlers without auth checks
  • 7 flows with unsanitized paths
  • 6 medium severity CVEs in history
  • Previous XSS and Missing Auth vulnerabilities
  • SQL queries, 67% not using prepared statements
Vulnerabilities
6

WP Popups – WordPress Popup builder Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
2 CVEs in 2023
2023
2 CVEs in 2024
2024
1 CVE in 2026
2026
Patched Has unpatched

Severity Breakdown

Medium
6

6 total CVEs

CVE-2026-24616medium · 4.3Missing Authorization

WP Popups <= 2.2.0.5 - Missing Authorization

Jan 11, 2026 Patched in 2.2.0.6 (44d)
CVE-2024-6555medium · 5.3Exposure of Sensitive Information to an Unauthorized Actor

WP Popups – WordPress Popup builder <= 2.2.0.1 - Unauthenticated Full Path Disclosure

Jul 11, 2024 Patched in 2.2.0.2 (1d)
CVE-2024-29105medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WP Popups <= 2.1.5.5 - Authenticated (Administrator+) Stored Cross-Site Scripting

Mar 15, 2024 Patched in 2.1.5.6 (6d)
CVE-2023-1905medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WP Popups – WordPress Popup builder <= 2.1.5 - Authenticated (Contributor+) Stored Cross-Site Scripting

Apr 17, 2023 Patched in 2.1.5.1 (281d)
CVE-2023-24003medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WP Popups <= 2.1.4.8 - Authenticated (Contributor+) Stored Cross-Site Scripting

Jan 23, 2023 Patched in 2.1.4.9 (365d)
CVE-2022-4716medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WP Popups <= 2.1.4.7 - Authenticated (Contributor+) Stored Cross Site Scripting via Shortcode

Dec 28, 2022 Patched in 2.1.4.8 (391d)
Code Analysis
Analyzed Mar 16, 2026

WP Popups – WordPress Popup builder Code Analysis

Dangerous Functions
0
Raw SQL Queries
2
1 prepared
Unescaped Output
120
731 escaped
Nonce Checks
24
Capability Checks
5
File Operations
1
External Requests
6
Bundled Libraries
0

SQL Query Safety

33% prepared3 total queries

Output Escaping

86% escaped851 total outputs
Data Flows
7 unsanitized

Data Flow Analysis

12 flows7 with unsanitized paths
output (src\includes\providers\class-optin-fields.php:125)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
5 unprotected

WP Popups – WordPress Popup builder Attack Surface

Entry Points27
Unprotected5

AJAX Handlers 20

authwp_ajax_wppopups_save_popupsrc\includes\admin\ajax-actions.php:87
authwp_ajax_wppopups_new_popupsrc\includes\admin\ajax-actions.php:142
authwp_ajax_wppopups_update_popup_templatesrc\includes\admin\ajax-actions.php:187
authwp_ajax_wppopups_builder_increase_next_field_idsrc\includes\admin\ajax-actions.php:216
authwp_ajax_wppopups_render_rulesrc\includes\admin\ajax-actions.php:282
authwp_ajax_wppopups_render_triggersrc\includes\admin\ajax-actions.php:323
authwp_ajax_wppopups_verify_sslsrc\includes\admin\ajax-actions.php:360
authwp_ajax_wppopups_deactivate_addonsrc\includes\admin\ajax-actions.php:394
authwp_ajax_wppopups_activate_addonsrc\includes\admin\ajax-actions.php:431
authwp_ajax_wppopups_install_addonsrc\includes\admin\ajax-actions.php:535
authwp_ajax_wppopups_verify_licensesrc\includes\admin\ajax-actions.php:571
authwp_ajax_wppopups_deactivate_licensesrc\includes\admin\ajax-actions.php:591
authwp_ajax_wppopups_refresh_licensesrc\includes\admin\ajax-actions.php:616
authwp_ajax_wppopups_review_dismisssrc\includes\admin\class-review.php:23
noprivwp_ajax_wppopups_rulessrc\includes\class-rules.php:41
authwp_ajax_wppopups_rulessrc\includes\class-rules.php:42
authwp_ajax_wppopups_settings_provider_disconnectsrc\includes\providers\class-base.php:114
authwp_ajax_wppopups_settings_provider_addsrc\includes\providers\class-base.php:117
authwp_ajax_wppopups_optin_submitsrc\includes\providers\class-optin-submission.php:18
noprivwp_ajax_wppopups_optin_submitsrc\includes\providers\class-optin-submission.php:19

Shortcodes 7

[wppopup-template] src\includes\class-content-templates.php:31
[spu-facebook] src\includes\class-printer.php:69
[spu-facebook-page] src\includes\class-printer.php:70
[spu-twitter] src\includes\class-printer.php:71
[spu-close] src\includes\class-printer.php:72
[spu] src\includes\class-printer.php:73
[wpp-elementor] src\includes\plugins\elementor.php:3
WordPress Hooks 194
actionwppopups_setup_panel_afterlite\wppopups-lite.php:21
actionwppopups_builder_panel_buttonslite\wppopups-lite.php:22
actionwppopups_builder_enqueues_beforelite\wppopups-lite.php:23
actionadmin_enqueue_scriptslite\wppopups-lite.php:25
actionadmin_enqueue_scriptslite\wppopups-lite.php:26
actionwppopups_admin_pagelite\wppopups-lite.php:27
actionwppopups_sidebar_content_positionlite\wppopups-lite.php:29
actionwppopups_sidebar_content_animationlite\wppopups-lite.php:30
actionwppopups_sidebar_content_closelite\wppopups-lite.php:31
actionwppopups_popup_rules_panel_contentlite\wppopups-lite.php:33
actionwppopups_popup_settings_triggerslite\wppopups-lite.php:34
actionwppopups_popup_settings_closelite\wppopups-lite.php:35
filterwppopups_settings_tabslite\wppopups-lite.php:38
filterwppopups_settings_defaultslite\wppopups-lite.php:39
filterwppopups_addons_availablesrc\includes\addons\class-base.php:94
actionwppopups_builder_initsrc\includes\addons\class-base.php:103
actionwppopups_addons_panel_sidebarsrc\includes\addons\class-base.php:106
actionwppopups_addons_panel_contentsrc\includes\addons\class-base.php:109
actionadmin_initsrc\includes\admin\builder\class-builder.php:66
actionadmin_headsrc\includes\admin\builder\class-builder.php:108
actionadmin_enqueue_scriptssrc\includes\admin\builder\class-builder.php:109
actionadmin_print_footer_scriptssrc\includes\admin\builder\class-builder.php:110
actionwppopups_admin_pagesrc\includes\admin\builder\class-builder.php:111
filterteeny_mce_pluginssrc\includes\admin\builder\class-builder.php:116
filtermce_buttons_2src\includes\admin\builder\class-builder.php:117
actionadmin_enqueue_scriptssrc\includes\admin\builder\panels\class-base.php:104
actionwppopups_builder_panel_buttonssrc\includes\admin\builder\panels\class-base.php:107
actionwppopups_builder_panelsrc\includes\admin\builder\panels\class-base.php:110
actionwppopups_builder_fieldssrc\includes\admin\builder\panels\class-fields.php:28
actionwppopups_builder_fields_optionssrc\includes\admin\builder\panels\class-fields.php:29
actionwppopups_builder_previewsrc\includes\admin\builder\panels\class-fields.php:30
actionwppopups_builder_print_footer_scriptssrc\includes\admin\builder\panels\class-fields.php:33
actionwppopups_popup_content_aftersrc\includes\admin\builder\panels\class-fields.php:36
actionwppopups_builder_fieldssrc\includes\admin\builder\panels\class-optin.php:37
actionwppopups_builder_fields_optionssrc\includes\admin\builder\panels\class-optin.php:38
actionwppopups_builder_previewsrc\includes\admin\builder\panels\class-optin.php:39
actionwppopups_builder_print_footer_scriptssrc\includes\admin\builder\panels\class-optin.php:42
actionwppopups_popup_content_aftersrc\includes\admin\builder\panels\class-optin.php:45
actionadmin_initsrc\includes\admin\class-addons.php:32
actionadmin_enqueue_scriptssrc\includes\admin\class-addons.php:48
actionwppopups_admin_pagesrc\includes\admin\class-addons.php:49
actionadmin_noticessrc\includes\admin\class-license.php:39
actioninitsrc\includes\admin\class-license.php:44
actionadmin_menusrc\includes\admin\class-menu.php:22
actionadmin_noticessrc\includes\admin\class-notices.php:59
actionadmin_noticessrc\includes\admin\class-review.php:22
filteradmin_footer_textsrc\includes\admin\class-review.php:26
actionadmin_initsrc\includes\admin\class-settings.php:28
actionadmin_enqueue_scriptssrc\includes\admin\class-settings.php:53
actionwppopups_admin_pagesrc\includes\admin\class-settings.php:54
actionadmin_initsrc\includes\admin\class-tools.php:61
actionwppopups_tools_initsrc\includes\admin\class-tools.php:118
actionwppopups_admin_pagesrc\includes\admin\class-tools.php:119
filterpre_set_site_transient_update_pluginssrc\includes\admin\class-updater.php:78
filterplugins_apisrc\includes\admin\class-updater.php:79
actionadmin_initsrc\includes\admin\class-updater.php:82
filterpre_set_site_transient_update_pluginssrc\includes\admin\class-updater.php:185
actionadmin_initsrc\includes\admin\class-upgrader.php:6
actionadmin_menusrc\includes\admin\class-welcome.php:23
actionadmin_headsrc\includes\admin\class-welcome.php:24
actionadmin_initsrc\includes\admin\class-welcome.php:25
actionadmin_enqueue_scriptssrc\includes\admin\common.php:109
actionadmin_enqueue_scriptssrc\includes\admin\common.php:194
filteradmin_body_classsrc\includes\admin\common.php:214
actionin_admin_headersrc\includes\admin\common.php:241
actionadmin_print_scriptssrc\includes\admin\common.php:309
actionadmin_initsrc\includes\admin\common.php:377
actionadmin_initsrc\includes\admin\common.php:472
actionadmin_initsrc\includes\admin\overview\class-overview.php:22
actionload-toplevel_page_wppopups-overviewsrc\includes\admin\overview\class-overview.php:25
filterset-screen-optionsrc\includes\admin\overview\class-overview.php:26
actionadmin_enqueue_scriptssrc\includes\admin\overview\class-overview.php:52
actionwppopups_admin_pagesrc\includes\admin\overview\class-overview.php:53
actioninitsrc\includes\class-content-templates.php:22
filtermanage_wppopups-templates_posts_columnssrc\includes\class-content-templates.php:25
actionmanage_wppopups-templates_posts_custom_columnsrc\includes\class-content-templates.php:28
actioninitsrc\includes\class-fields.php:29
actionwpmu_new_blogsrc\includes\class-install.php:25
actioninitsrc\includes\class-logging.php:25
actioninitsrc\includes\class-logging.php:28
actionadmin_bar_menusrc\includes\class-popup-handler.php:25
actioninitsrc\includes\class-preview.php:19
actionpre_get_postssrc\includes\class-preview.php:22
filterthe_postssrc\includes\class-preview.php:130
actionwp_enqueue_scriptssrc\includes\class-printer.php:43
actionwp_enqueue_scriptssrc\includes\class-printer.php:44
actionwppopups_popup_outputsrc\includes\class-printer.php:47
actionwppopups_popup_outputsrc\includes\class-printer.php:48
actionwppopups_popup_outputsrc\includes\class-printer.php:49
actionwppopups_popup_outputsrc\includes\class-printer.php:50
actionwp_headsrc\includes\class-printer.php:51
filterwppopups_contentsrc\includes\class-printer.php:53
filterwppopups_contentsrc\includes\class-printer.php:54
filterwppopups_contentsrc\includes\class-printer.php:55
filterwppopups_contentsrc\includes\class-printer.php:56
filterwppopups_contentsrc\includes\class-printer.php:57
filterwppopups_contentsrc\includes\class-printer.php:58
filterwppopups_contentsrc\includes\class-printer.php:61
filterwppopups_contentsrc\includes\class-printer.php:63
actionwp_footersrc\includes\class-printer.php:65
actionwpopopups_builder_popupsrc\includes\class-printer.php:67
actionwppopups_popup_outputsrc\includes\class-printer.php:102
filterwppopups_rules_rule_match_user_typesrc\includes\class-rules.php:45
filterwppopups_rules_rule_match_logged_usersrc\includes\class-rules.php:46
filterwppopups_rules_rule_match_left_commentsrc\includes\class-rules.php:47
filterwppopups_rules_rule_match_search_enginesrc\includes\class-rules.php:48
filterwppopups_rules_rule_match_same_sitesrc\includes\class-rules.php:49
filterwppopups_rules_rule_match_post_typesrc\includes\class-rules.php:52
filterwppopups_rules_rule_match_post_idsrc\includes\class-rules.php:53
filterwppopups_rules_rule_match_postsrc\includes\class-rules.php:54
filterwppopups_rules_rule_match_post_categorysrc\includes\class-rules.php:55
filterwppopups_rules_rule_match_post_formatsrc\includes\class-rules.php:56
filterwppopups_rules_rule_match_post_statussrc\includes\class-rules.php:57
filterwppopups_rules_rule_match_taxonomysrc\includes\class-rules.php:58
filterwppopups_rules_rule_match_pagesrc\includes\class-rules.php:61
filterwppopups_rules_rule_match_page_typesrc\includes\class-rules.php:62
filterwppopups_rules_rule_match_page_parentsrc\includes\class-rules.php:63
filterwppopups_rules_rule_match_page_templatesrc\includes\class-rules.php:64
filterwppopups_rules_rule_match_custom_urlsrc\includes\class-rules.php:67
filterwppopups_rules_rule_match_keyword_urlsrc\includes\class-rules.php:68
filterwppopups_rules_rule_match_cookiesrc\includes\class-rules.php:69
filterwppopups_rules_rule_match_mobilessrc\includes\class-rules.php:70
filterwppopups_rules_rule_match_tabletssrc\includes\class-rules.php:71
filterwppopups_rules_rule_match_desktopsrc\includes\class-rules.php:72
filterwppopups_rules_rule_match_referrersrc\includes\class-rules.php:73
filterwppopups_rules_rule_match_crawlerssrc\includes\class-rules.php:74
filterwppopups_rules_rule_match_query_stringsrc\includes\class-rules.php:75
filterwppopups_rules_rule_match_browsersrc\includes\class-rules.php:76
filterwppopups_rules_rule_match_languagesrc\includes\class-rules.php:77
filterwppopups_rules_rule_match_user_agentsrc\includes\class-rules.php:78
filterwppopups_rules_rule_match_bp_is_buddypresssrc\includes\class-rules.php:81
filterwppopups_rules_rule_match_bp_user_pagesrc\includes\class-rules.php:82
filterwppopups_rules_rule_match_bp_profile_pagesrc\includes\class-rules.php:83
filterwppopups_rules_rule_match_bp_group_pagesrc\includes\class-rules.php:84
filterwppopups_rules_rule_match_bp_friends_pagesrc\includes\class-rules.php:85
filterwppopups_rules_rule_match_bp_messages_pagesrc\includes\class-rules.php:86
filterwppopups_rules_rule_match_bp_activation_pagesrc\includes\class-rules.php:87
filterwppopups_rules_rule_match_bp_register_pagesrc\includes\class-rules.php:88
filterwppopups_rules_rule_match_bp_directory_pagesrc\includes\class-rules.php:89
filterwppopups_rules_rule_match_woo_is_shopsrc\includes\class-rules.php:93
filterwppopups_rules_rule_match_woo_is_product_categorysrc\includes\class-rules.php:94
filterwppopups_rules_rule_match_woo_is_product_tagsrc\includes\class-rules.php:95
filterwppopups_rules_rule_match_woo_is_productsrc\includes\class-rules.php:96
filterwppopups_rules_rule_match_woo_is_cartsrc\includes\class-rules.php:97
filterwppopups_rules_rule_match_woo_is_checkoutsrc\includes\class-rules.php:98
filterwppopups_rules_rule_match_woo_is_account_pagesrc\includes\class-rules.php:99
filterwppopups_rules_rule_match_woo_is_order_receivedsrc\includes\class-rules.php:100
actioninitsrc\includes\class-templates.php:35
filterwppopups_builder_fields_buttonssrc\includes\fields\class-base.php:127
filterwppopups_field_propertiessrc\includes\fields\class-base.php:148
filterwppopups_html_field_valuesrc\includes\fields\class-checkbox.php:44
filterwppopups_field_properties_checkboxsrc\includes\fields\class-checkbox.php:47
filterwppopups_field_properties_emailsrc\includes\fields\class-email.php:24
filterwppopups_field_new_requiredsrc\includes\fields\class-email.php:27
filterwppopups_builder_field_option_classsrc\includes\fields\class-email.php:30
filterwppopups_field_new_requiredsrc\includes\fields\class-gdpr-checkbox.php:32
filterwppopups_field_properties_gdpr-checkboxsrc\includes\fields\class-gdpr-checkbox.php:35
filterwppopups_field_properties_namesrc\includes\fields\class-name.php:24
filterwppopups_field_new_requiredsrc\includes\fields\class-name.php:27
filterwppopups_html_field_valuesrc\includes\fields\class-radio.php:44
filterwppopups_field_properties_radiosrc\includes\fields\class-radio.php:47
filterwppopups_field_properties_textsrc\includes\fields\class-text.php:24
actionwppopups_frontend_jssrc\includes\fields\class-text.php:25
actionwppopups_frontend_jssrc\includes\fields\class-textarea.php:22
filtergeot/cancel_posts_wheresrc\includes\functions.php:883
filterwppopups_providers_availablesrc\includes\providers\class-base.php:96
actionwppopups_process_completesrc\includes\providers\class-base.php:102
actionwppopups_builder_initsrc\includes\providers\class-base.php:105
actionwppopups_providers_panel_sidebarsrc\includes\providers\class-base.php:108
actionwppopups_providers_panel_contentsrc\includes\providers\class-base.php:111
actionwppopups_settings_providerssrc\includes\providers\class-base.php:120
actionwppopups_field_options_providersrc\includes\providers\class-base.php:123
actionwppopups_frontend_outputsrc\includes\providers\class-optin-fields.php:21
actionwppopups_display_field_beforesrc\includes\providers\class-optin-fields.php:22
actionwppopups_display_field_beforesrc\includes\providers\class-optin-fields.php:23
actionwppopups_display_field_beforesrc\includes\providers\class-optin-fields.php:24
actionwppopups_display_field_aftersrc\includes\providers\class-optin-fields.php:25
actionwppopups_display_field_aftersrc\includes\providers\class-optin-fields.php:26
actionwppopups_display_field_aftersrc\includes\providers\class-optin-fields.php:27
actionwppopups_frontend_outputsrc\includes\providers\class-optin-fields.php:29
actionwppopups_frontend_output_form_aftersrc\includes\providers\class-optin-fields.php:30
actionwp_footersrc\includes\providers\class-optin-fields.php:32
actionwppopups_popup_content_aftersrc\includes\providers\class-optin-fields.php:35
actionwppopups_popup_content_aftersrc\includes\providers\class-optin-fields.php:37
actionwppopups_process_completesrc\includes\providers\class-optin-submission.php:22
filterwppopups_create_popup_argssrc\includes\templates\class-base.php:99
filterwppopups_save_popup_argssrc\includes\templates\class-base.php:100
filterwppopups_builder_template_activesrc\includes\templates\class-base.php:101
actionadmin_initwp-popups-lite.php:74
actionadmin_noticeswp-popups-lite.php:87
actionadmin_initwp-popups-lite.php:103
actionadmin_noticeswp-popups-lite.php:119
actionplugins_loadedwp-popups-lite.php:238
actionplugins_loadedwp-popups-lite.php:239
Maintenance & Trust

WP Popups – WordPress Popup builder Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 25, 2026
PHP min version5.7
Downloads746K

Community Trust

Rating98/100
Number of ratings110
Active installs30K
Developer Profile

WP Popups – WordPress Popup builder Developer Profile

Damian

6 plugins · 34K total installs

64
trust score
Avg Security Score
79/100
Avg Patch Time
181 days
View full developer profile
Detection Fingerprints

How We Detect WP Popups – WordPress Popup builder

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-popups-lite/assets/css/frontend.css/wp-content/plugins/wp-popups-lite/assets/css/main.css/wp-content/plugins/wp-popups-lite/assets/js/frontend.js/wp-content/plugins/wp-popups-lite/assets/js/main.js
Version Parameters
/wp-content/plugins/wp-popups-lite/assets/css/frontend.css?ver=/wp-content/plugins/wp-popups-lite/assets/css/main.css?ver=/wp-content/plugins/wp-popups-lite/assets/js/frontend.js?ver=/wp-content/plugins/wp-popups-lite/assets/js/main.js?ver=

HTML / DOM Fingerprints

CSS Classes
wppopups-popup-containerwppopups-popup-contentwppopups-popup-closewppopups-animation-wppopups-display-wppopups-trigger-wppopups-effect-
Data Attributes
data-wppopups-iddata-wppopups-settings
JS Globals
wppopups_frontend_params
FAQ

Frequently Asked Questions about WP Popups – WordPress Popup builder