W4 Post List Security & Risk Analysis

wordpress.org/plugins/w4-post-list

W4 Post List lets you create a list of posts, terms, users or a combined one. Decorate output using shortcodes. It's just easy and fun.

3K active installs v2.5.5 PHP 7.4+ WP 5.8+ Updated Feb 16, 2026
custom-post-typemediapostpost-listshortcode
99
A · Safe
CVEs total5
Unpatched0
Last CVEMar 22, 2023
Safety Verdict

Is W4 Post List Safe to Use in 2026?

Generally Safe

Score 99/100

W4 Post List has a strong security track record. Known vulnerabilities have been patched promptly.

5 known CVEsLast CVE: Mar 22, 2023Updated 1mo ago
Risk Assessment

The w4-post-list plugin version 2.5.5 exhibits a mixed security posture. On the positive side, the code analysis reveals diligent use of prepared statements for all SQL queries and a high percentage of properly escaped output, significantly mitigating risks of SQL injection and XSS. The absence of file operations and external HTTP requests also reduces the attack surface. However, several concerning factors warrant attention. The plugin has a history of five medium-severity vulnerabilities, including exposure of sensitive information, XSS, and missing authorization. While none are currently unpatched, this past trend suggests a recurring pattern of potential security weaknesses. The lack of nonce checks on AJAX handlers and a single capability check for the entire plugin's entry points are significant concerns, leaving it susceptible to unauthorized actions and potential privilege escalation if input is not strictly validated. Taint analysis results are clean, indicating no critical or high-severity flows were detected in this specific scan.

Key Concerns

  • Historically significant number of medium vulnerabilities
  • Missing nonce checks on AJAX handlers
  • Only one capability check for multiple entry points
  • 81% output escaping (19% unescaped outputs)
Vulnerabilities
5

W4 Post List Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
4 CVEs in 2023
2023
Patched Has unpatched

Severity Breakdown

Medium
5

5 total CVEs

CVE-2023-1371medium · 4.3Exposure of Sensitive Information to an Unauthorized Actor

W4 Post List <= 2.4.5 - Information Disclosure via post_excerpt

Mar 22, 2023 Patched in 2.4.6 (307d)
CVE-2023-0374medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

W4 Post List <= 2.4.5 - Authenticated (Contributor+) Stored Cross-Site Scripting via Block Options

Mar 22, 2023 Patched in 2.4.6 (307d)
CVE-2023-1373medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

W4 Post List <= 2.4.5 - Reflected Cross-Site Scripting

Mar 22, 2023 Patched in 2.4.6 (307d)
CVE-2023-27413medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

W4 Post List <= 2.4.4 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'w4pl[no_items_text]'

Mar 8, 2023 Patched in 2.4.5 (321d)

Appsero <= 1.2.1 - Missing Authorization

Dec 16, 2022 Patched in 2.4.3 (699d)
Code Analysis
Analyzed Mar 16, 2026

W4 Post List Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
19 prepared
Unescaped Output
13
57 escaped
Nonce Checks
0
Capability Checks
1
File Operations
0
External Requests
1
Bundled Libraries
0

SQL Query Safety

100% prepared19 total queries

Output Escaping

81% escaped70 total outputs
Attack Surface

W4 Post List Attack Surface

Entry Points5
Unprotected0

AJAX Handlers 1

authwp_ajax_w4pl_list_edit_form_htmladmin\class-admin-lists-metaboxes.php:29

Shortcodes 4

[w4pl_time] includes\shortcodes\class-date-shortcode.php:22
[w4pl_date] includes\shortcodes\class-date-shortcode.php:23
[postlist] includes\shortcodes\class-list-shortcode.php:22
[w4pl-list] includes\shortcodes\class-list-shortcode.php:23
WordPress Hooks 57
actionedit_form_after_titleadmin\class-admin-lists-metaboxes.php:75
actionadmin_enqueue_scriptsadmin\class-admin-lists-metaboxes.php:78
actionload-edit.phpadmin\class-admin-lists-table-columns.php:22
filtermonths_dropdown_resultsadmin\class-admin-lists-table-columns.php:36
filterpost_updated_messagesadmin\class-admin-main.php:25
actionadmin_menuadmin\pages\class-admin-page-docs.php:23
actionadmin_noticesappsero.php:41
actionadmin_footerappsero.php:107
filterhttp_request_argsappsero.php:202
actioninitblocks.php:58
filterthe_contentincludes\class-list-content.php:17
filterw4pl/pre_save_optionsincludes\class-list-helper.php:23
filterw4pl/pre_get_optionsincludes\class-list-helper.php:24
filterw4pl/list_edit_form_htmlincludes\class-list-helper.php:25
filterw4pl/pre_get_templateincludes\class-list-templates.php:22
filterw4pl/pre_save_templateincludes\class-list-templates.php:23
actioninitincludes\class-post-types.php:22
actioninitincludes\class-w4-post-list.php:177
actionwidgets_initincludes\class-w4-post-list.php:178
actionwp_enqueue_scriptsincludes\class-w4-post-list.php:179
actionadmin_enqueue_scriptsincludes\class-w4-post-list.php:180
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-no-items.php:24
filterw4pl/pre_save_optionsincludes\helpers\class-helper-no-items.php:25
filterw4pl/pre_get_optionsincludes\helpers\class-helper-no-items.php:26
actionw4pl/parse_htmlincludes\helpers\class-helper-no-items.php:27
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-posts-date_query.php:24
filterw4pl/pre_save_optionsincludes\helpers\class-helper-posts-date_query.php:25
filterw4pl/pre_get_optionsincludes\helpers\class-helper-posts-date_query.php:26
filterw4pl/parse_query_argsincludes\helpers\class-helper-posts-date_query.php:27
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-posts-meta_query.php:24
filterw4pl/pre_save_optionsincludes\helpers\class-helper-posts-meta_query.php:25
filterw4pl/pre_get_optionsincludes\helpers\class-helper-posts-meta_query.php:26
filterw4pl/parse_query_argsincludes\helpers\class-helper-posts-meta_query.php:27
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-posts-tax_query.php:24
filterw4pl/pre_save_optionsincludes\helpers\class-helper-posts-tax_query.php:25
filterw4pl/pre_get_optionsincludes\helpers\class-helper-posts-tax_query.php:26
filterw4pl/parse_query_argsincludes\helpers\class-helper-posts-tax_query.php:27
filterw4pl/pre_get_optionsincludes\helpers\class-helper-posts.php:24
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-posts.php:25
filterw4pl/parse_query_argsincludes\helpers\class-helper-posts.php:26
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-presets.php:24
filterw4pl/pre_get_optionsincludes\helpers\class-helper-presets.php:25
filterw4pl/parse_query_argsincludes\helpers\class-helper-presets.php:26
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-style.php:24
filterw4pl/pre_save_optionsincludes\helpers\class-helper-style.php:25
filterw4pl/pre_get_optionsincludes\helpers\class-helper-style.php:26
filterw4pl/parse_htmlincludes\helpers\class-helper-style.php:27
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-terms.php:24
filterw4pl/pre_get_optionsincludes\helpers\class-helper-terms.php:25
filterw4pl/parse_query_argsincludes\helpers\class-helper-terms.php:26
filterw4pl/pre_get_optionsincludes\helpers\class-helper-users.php:24
filterw4pl/list_edit_form_fieldsincludes\helpers\class-helper-users.php:25
filterw4pl/parse_query_argsincludes\helpers\class-helper-users.php:26
filterw4pl/get_shortcodesincludes\template-tags\class-post-template-tags.php:24
filterw4pl/get_shortcodesincludes\template-tags\class-term-template-tags.php:21
filterw4pl/get_shortcodesincludes\template-tags\class-user-template-tags.php:20
actionplugins_loadedw4-post-list.php:49
Maintenance & Trust

W4 Post List Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 16, 2026
PHP min version7.4
Downloads194K

Community Trust

Rating94/100
Number of ratings93
Active installs3K
Developer Profile

W4 Post List Developer Profile

Shazzad Hossain Khan

1 plugin · 3K total installs

78
trust score
Avg Security Score
99/100
Avg Patch Time
388 days
View full developer profile
Detection Fingerprints

How We Detect W4 Post List

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/w4-post-list/assets/css/admin-documentation.css/wp-content/plugins/w4-post-list/assets/css/form.css/wp-content/plugins/w4-post-list/assets/css/list-editor.css/wp-content/plugins/w4-post-list/assets/js/admin-documentation.js/wp-content/plugins/w4-post-list/assets/js/list-editor.js/wp-content/plugins/w4-post-list/assets/js/form.js
Script Paths
/wp-content/plugins/w4-post-list/assets/js/admin-documentation.js/wp-content/plugins/w4-post-list/assets/js/list-editor.js/wp-content/plugins/w4-post-list/assets/js/form.js
Version Parameters
w4-post-list/assets/css/admin-documentation.css?ver=w4-post-list/assets/css/form.css?ver=w4-post-list/assets/css/list-editor.css?ver=w4-post-list/assets/js/admin-documentation.js?ver=w4-post-list/assets/js/list-editor.js?ver=w4-post-list/assets/js/form.js?ver=

HTML / DOM Fingerprints

CSS Classes
w4pl-documentation-wrapw4pl-documentation-mainw4pl-documentation-contentw4pl-documentation-sidebar
HTML Comments
<!--<p class="description">As like id (<code>[postlist id=1]</code>), a list can also be called using slug or title.<br /><strong>Ex</strong>: <code>[postlist slug='my-list']</code>, <code>[postlist Title='My List']</code></p>-->
FAQ

Frequently Asked Questions about W4 Post List