Privacy Policy Generator – WPLP Legal Pages Security & Risk Analysis

wordpress.org/plugins/wplegalpages

Create and manage legal pages for WordPress websites using ready-made policy templates that support common privacy and compliance requirements.

10K active installs v3.5.9 PHP 7.0+ WP 5.0+ Updated Feb 9, 2026
ccpacookie-policygdprprivacy-policyterms-and-conditions
92
A · Safe
CVEs total7
Unpatched0
Last CVEJan 27, 2026
Safety Verdict

Is Privacy Policy Generator – WPLP Legal Pages Safe to Use in 2026?

Generally Safe

Score 92/100

Privacy Policy Generator – WPLP Legal Pages has a strong security track record. Known vulnerabilities have been patched promptly.

7 known CVEsLast CVE: Jan 27, 2026Updated 1mo ago
Risk Assessment

The wplegalpages plugin exhibits a mixed security posture. On the positive side, it demonstrates strong adherence to secure coding practices with a high percentage of prepared SQL statements and properly escaped output. The presence of numerous nonce and capability checks also suggests an awareness of security principles. However, a significant concern arises from the substantial attack surface exposed through 18 unprotected AJAX handlers. This lack of authentication on a considerable number of entry points presents a prime opportunity for attackers to trigger unintended actions or exploit vulnerabilities. Furthermore, the static analysis flagged two flows with unsanitized paths, one of high severity, which could potentially lead to code execution or data manipulation if not properly mitigated. The plugin's vulnerability history, with a significant number of medium and one high severity CVEs, particularly those related to missing authorization and cross-site scripting, reinforces the risks associated with unprotected entry points and input handling. While there are no currently unpatched CVEs, this history indicates a recurring pattern of vulnerabilities that, if not actively managed, could resurface.

Key Concerns

  • Unprotected AJAX handlers
  • High severity taint flow
  • Flows with unsanitized paths
  • 1 high severity CVE in history
  • 6 medium severity CVEs in history
  • Dangerous function: unserialize
Vulnerabilities
7

Privacy Policy Generator – WPLP Legal Pages Security Vulnerabilities

CVEs by Year

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

Severity Breakdown

High
1
Medium
6

7 total CVEs

CVE-2025-67974medium · 5.3Missing Authorization

WPLegalPages <= 3.5.4 - Missing Authorization

Jan 27, 2026 Patched in 3.5.5 (7d)
CVE-2025-11816medium · 5.3Missing Authorization

Privacy Policy Generator, Terms & Conditions Generator WordPress Plugin : WP Legal Pages <= 3.5.1 - Missing Authorization to Unauthenticated API Disconnect

Oct 31, 2025 Patched in 3.5.2 (1d)
CVE-2025-8565high · 8.1Missing Authorization

Privacy Policy Generator, Terms & Conditions Generator WordPress Plugin : WP Legal Pages <= 3.4.3 - Missing Authorization to Authenticated (Contributor+) Arbitrary Plugin Installation

Sep 17, 2025 Patched in 3.4.4 (1d)
CVE-2024-12636medium · 4.3Cross-Site Request Forgery (CSRF)

Privacy Policy Generator, Terms & Conditions Generator WordPress Plugin : WP Legal Pages <= 3.2.7 - Cross-Site Request Forgery

Dec 24, 2024 Patched in 3.2.8 (1d)
CVE-2023-4968medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WPLegalPages <= 2.9.2 - Authenticated (Author+) Stored Cross-Site Scripting via Shortcode

Oct 10, 2023 Patched in 2.9.3 (105d)
CVE-2021-25106medium · 5.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Privacy Policy Generator, Terms & Conditions Generator - WPLegalPages <= 2.7.0 - Arbitrary Settings Update to Stored Cross-Site Scripting

Jan 5, 2022 Patched in 2.7.1 (748d)
CVE-2015-9428medium · 5.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Privacy Policy Generator, Terms & Conditions Generator WordPress Plugin : WPLegalPages < 1.1 - Cross-Site Scripting

Aug 21, 2015 Patched in 1.1 (3077d)
Code Analysis
Analyzed Mar 16, 2026

Privacy Policy Generator – WPLP Legal Pages Code Analysis

Dangerous Functions
2
Raw SQL Queries
5
49 prepared
Unescaped Output
32
906 escaped
Nonce Checks
32
Capability Checks
24
File Operations
1
External Requests
13
Bundled Libraries
2

Dangerous Functions Found

unserialize$unserialized_object = unserialize( $serialized_object );admin\partials\wp-legal-pages-create-popups-template.php:26
unserialize$response = unserialize( $this->send_query( $args ) );wc-am-client-legalpages.php:570

Bundled Libraries

TinyMCESelect2

SQL Query Safety

91% prepared54 total queries

Output Escaping

97% escaped938 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

17 flows2 with unsanitized paths
<admin-settings-ver818> (admin\admin-settings-ver818.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
18 unprotected

Privacy Policy Generator – WPLP Legal Pages Attack Surface

Entry Points34
Unprotected18

AJAX Handlers 24

authwp_ajax_gdpr_install_pluginadmin\class-wp-legal-pages-admin.php:82
authwp_ajax_wp_legal_pages_app_start_authincludes\class-wp-legal-app-auth.php:61
authwp_ajax_legalpages_template_view_capabilitiesincludes\class-wp-legal-app-auth.php:62
authwp_ajax_wp_legal_pages_app_paid_start_authincludes\class-wp-legal-app-auth.php:63
authwp_ajax_wp_legal_pages_app_store_authincludes\class-wp-legal-app-auth.php:64
authwp_ajax_wp_legal_pages_app_delete_authincludes\class-wp-legal-app-auth.php:65
authwp_ajax_wplegalpages_support_requestincludes\class-wp-legal-pages.php:243
noprivwp_ajax_wplegalpages_support_requestincludes\class-wp-legal-pages.php:244
authwp_ajax_lp_accept_termsincludes\class-wp-legal-pages.php:249
noprivwp_ajax_lp_accept_termsincludes\class-wp-legal-pages.php:250
authwp_ajax_get_accept_termsincludes\class-wp-legal-pages.php:252
authwp_ajax_save_accept_termsincludes\class-wp-legal-pages.php:253
authwp_ajax_wplegalpages_disable_settings_warningincludes\class-wp-legal-pages.php:255
authwp_ajax_lp_save_admin_settingsincludes\class-wp-legal-pages.php:256
authwp_ajax_lp_save_footer_formincludes\class-wp-legal-pages.php:259
authwp_ajax_save_banner_formincludes\class-wp-legal-pages.php:260
authwp_ajax_save_cookie_bar_formincludes\class-wp-legal-pages.php:261
authwp_ajax_step_settingsincludes\class-wp-legal-pages.php:265
authwp_ajax_page_settings_saveincludes\class-wp-legal-pages.php:266
authwp_ajax_page_sections_saveincludes\class-wp-legal-pages.php:267
authwp_ajax_page_preview_saveincludes\class-wp-legal-pages.php:268
authwp_ajax_save_age_formincludes\class-wp-legal-pages.php:276
authwp_ajax_save_popup_formincludes\class-wp-legal-pages.php:277
authwp_ajax_wplp_collect_dataincludes\class-wp-legal-pages.php:290

REST API Routes 7

POST/wp-json/wplp-react/v1/get_dashboard-dataadmin\class-wp-legal-pages-admin.php:192
POST/wp-json/wplp-react/v1/get_legal_pages_dataadmin\class-wp-legal-pages-admin.php:202
POST/wp-json/wplp-react/v1/resync-sitesadmin\class-wp-legal-pages-admin.php:213
POST/wp-json/wplp-react/v1/get-page-settingsadmin\class-wp-legal-pages-admin.php:222
POST/wp-json/wplp-react/v1/save-pageadmin\class-wp-legal-pages-admin.php:232
POST/wp-json/wpl/v2/get_user_dashboard_dataadmin\class-wp-legal-pages-admin.php:243
POST/wp-json/wpl/v2/delete_activationadmin\class-wp-legal-pages-admin.php:258

Shortcodes 3

[wplegalpage] public\class-wp-legal-pages-public.php:67
[wp-legalpage] public\class-wp-legal-pages-public.php:91
[wp-legalpopup] public\class-wp-legal-pages-public.php:94
WordPress Hooks 64
actionadd_meta_boxesadmin\class-wp-legal-pages-admin.php:77
actionsave_postadmin\class-wp-legal-pages-admin.php:79
filterthe_contentadmin\class-wp-legal-pages-admin.php:80
actionsave_postadmin\class-wp-legal-pages-admin.php:83
actionrest_api_initadmin\class-wp-legal-pages-admin.php:84
actionrest_api_initadmin\class-wp-legal-pages-admin.php:85
actionrest_api_initadmin\class-wp-legal-pages-admin.php:86
filterrest_pre_serve_requestadmin\class-wp-legal-pages-admin.php:161
filterscript_loader_tagincludes\class-wp-legal-pages-loader.php:143
filterstyle_loader_tagincludes\class-wp-legal-pages-loader.php:153
actioninitincludes\class-wp-legal-pages.php:229
actionadmin_menuincludes\class-wp-legal-pages.php:241
actionadmin_initincludes\class-wp-legal-pages.php:245
actionadmin_initincludes\class-wp-legal-pages.php:246
actionadmin_enqueue_scriptsincludes\class-wp-legal-pages.php:247
actionadmin_enqueue_scriptsincludes\class-wp-legal-pages.php:248
filternav_menu_meta_box_objectincludes\class-wp-legal-pages.php:254
filterstyle_loader_srcincludes\class-wp-legal-pages.php:257
filterprint_styles_arrayincludes\class-wp-legal-pages.php:258
actionpost_updatedincludes\class-wp-legal-pages.php:262
actionwp_trash_postincludes\class-wp-legal-pages.php:263
actionadmin_initincludes\class-wp-legal-pages.php:264
actionwp_trash_postincludes\class-wp-legal-pages.php:269
actionadmin_initincludes\class-wp-legal-pages.php:270
actionadmin_initincludes\class-wp-legal-pages.php:271
actionadmin_noticesincludes\class-wp-legal-pages.php:273
actionwplegalpages_save_settingsincludes\class-wp-legal-pages.php:275
filterwplegalpages_compliances_optionsincludes\class-wp-legal-pages.php:278
filterwplegalpages_shortcodes_tableincludes\class-wp-legal-pages.php:279
filterwplegalpages_shortcode_contentincludes\class-wp-legal-pages.php:280
actioninitincludes\class-wp-legal-pages.php:281
actioninitincludes\class-wp-legal-pages.php:282
actionadmin_initincludes\class-wp-legal-pages.php:285
actionadmin_noticesincludes\class-wp-legal-pages.php:286
actionadmin_noticesincludes\class-wp-legal-pages.php:288
actionadmin_headincludes\class-wp-legal-pages.php:293
filterthe_contentincludes\class-wp-legal-pages.php:309
actionwp_enqueue_scriptsincludes\class-wp-legal-pages.php:311
actionwp_footerincludes\class-wp-legal-pages.php:312
actionwp_footerincludes\class-wp-legal-pages.php:314
actionwp_headincludes\class-wp-legal-pages.php:317
actionwp_enqueue_scriptsincludes\class-wp-legal-pages.php:320
actionwp_enqueue_scriptsincludes\class-wp-legal-pages.php:321
actionwp_headincludes\class-wp-legal-pages.php:322
actionrest_api_initincludes\settings\class-wp-legal-pages-api.php:35
actionwp_enqueue_scriptspublic\class-wp-legal-pages-public.php:78
actionwp_footerpublic\class-wp-legal-pages-public.php:79
actionwp_footerpublic\class-wp-legal-pages-public.php:82
actionthe_contentpublic\class-wp-legal-pages-public.php:83
actiontemplate_redirectpublic\class-wp-legal-pages-public.php:84
actionregister_formpublic\class-wp-legal-pages-public.php:86
actionregister_postpublic\class-wp-legal-pages-public.php:87
filterposts_wherepublic\class-wp-legal-pages-public.php:98
filtercomments_openpublic\class-wp-legal-pages-public.php:636
actionadmin_initwc-am-client-legalpages.php:104
actionadmin_initwc-am-client-legalpages.php:108
actionadmin_noticeswc-am-client-legalpages.php:111
actionadmin_initwc-am-client-legalpages.php:118
actionswitch_themewc-am-client-legalpages.php:165
filterpre_set_site_transient_update_pluginswc-am-client-legalpages.php:432
filterplugins_apiwc-am-client-legalpages.php:434
filterpre_set_site_transient_update_themeswc-am-client-legalpages.php:439
actionwidgets_initwidgets\class-wp-widget-legal-pages.php:202
actionadmin_initwplegalpages.php:74
Maintenance & Trust

Privacy Policy Generator – WPLP Legal Pages Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedFeb 9, 2026
PHP min version7.0
Downloads1.2M

Community Trust

Rating94/100
Number of ratings93
Active installs10K
Developer Profile

Privacy Policy Generator – WPLP Legal Pages Developer Profile

WP Legal Pages

2 plugins · 20K total installs

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

How We Detect Privacy Policy Generator – WPLP Legal Pages

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wplegalpages/admin/js/script.js/wp-content/plugins/wplegalpages/admin/css/style.css/wp-content/plugins/wplegalpages/admin/css/admin-style.css/wp-content/plugins/wplegalpages/admin/css/bootstrap.css/wp-content/plugins/wplegalpages/assets/css/wplegalpages-custom.css/wp-content/plugins/wplegalpages/assets/js/wplegalpages-custom.js
Script Paths
/wp-content/plugins/wplegalpages/admin/js/script.js/wp-content/plugins/wplegalpages/admin/js/tinymce/tinymce.min.js/wp-content/plugins/wplegalpages/admin/js/tinymce/plugins/wplegalpages_shortcodes.js/wp-content/plugins/wplegalpages/admin/js/admin.js/wp-content/plugins/wplegalpages/assets/js/frontend.js
Version Parameters
wplegalpages/admin/css/style.css?ver=wplegalpages/admin/css/admin-style.css?ver=wplegalpages/admin/css/bootstrap.css?ver=wplegalpages/admin/js/script.js?ver=wplegalpages/admin/js/admin.js?ver=wplegalpages/assets/css/wplegalpages-custom.css?ver=wplegalpages/assets/js/wplegalpages-custom.js?ver=wplegalpages/assets/js/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
wplegalpages-pro-promotionwplegalpages-shortcode-generatorwplegalpages-page-builder-wrapperwplegalpages-add-new-page-form
HTML Comments
<!-- If this file is called directly, abort. --><!-- Provide a admin area view for the settings. --><!-- This file is used to markup the admin-facing aspects of the plugin. --><!-- Upgrade to Pro -->+13 more
Data Attributes
data-lp-iddata-lp-typedata-lp-slugdata-lp-template
JS Globals
wplegalpages_global_varsWPLP_LITE_PLUGIN_URLWPLP_CUSTOM_CSS_MAX_LENwplegalpages_admin_script_varstinymce_wplegalpages_shortcodes_config
REST Endpoints
/wp-json/wplegal/v2/
Shortcode Output
[wplegalpages_shortcode][wplegalpages_generator]
FAQ

Frequently Asked Questions about Privacy Policy Generator – WPLP Legal Pages