Ultimate Posts Widget Security & Risk Analysis

wordpress.org/plugins/ultimate-posts-widget

The ultimate widget for displaying posts, custom post types or sticky posts with an array of options.

10K active installs v2.3.2 PHP + WP 3.5+ Updated Jul 17, 2024
custom-post-typesfeatured-imagerecent-postssticky-postswidget
92
A · Safe
CVEs total1
Unpatched0
Last CVEFeb 13, 2024
Safety Verdict

Is Ultimate Posts Widget Safe to Use in 2026?

Generally Safe

Score 92/100

Ultimate Posts Widget has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

1 known CVELast CVE: Feb 13, 2024Updated 1yr ago
Risk Assessment

The 'ultimate-posts-widget' plugin v2.3.2 exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices in its handling of SQL queries, exclusively using prepared statements, and the absence of critical or high-severity taint flows. It also includes nonce and capability checks for all identified AJAX handlers, which is a significant strength in preventing unauthorized actions. However, there are notable concerns that detract from its overall security. The presence of two AJAX handlers without authentication checks creates a direct attack surface that could be exploited for malicious purposes. Additionally, a significant portion of output (71%) is not properly escaped, leaving it vulnerable to Cross-Site Scripting (XSS) attacks, a pattern that aligns with its historical vulnerability. The plugin's single medium-severity vulnerability in the past, related to XSS, reinforces the importance of addressing output escaping. While the plugin has no currently unpatched CVEs, the historical vulnerability and the identified code analysis risks warrant careful consideration.

Key Concerns

  • 2 unprotected AJAX handlers found
  • 71% of outputs not properly escaped
  • 1 medium severity vulnerability history
  • Uses dangerous function: unserialize
Vulnerabilities
1 published

Ultimate Posts Widget Security Vulnerabilities

CVEs by Year

1 CVE in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2024-0561medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Ultimate Posts Widget <= 2.3.0 - Authenticated (Administrator+) Stored Cross-Site Scripting

Feb 13, 2024 Patched in 2.3.1 (10d)
Version History

Ultimate Posts Widget Release Timeline

v2.3.2Current
v2.3.1
v2.3.01 CVE
v2.2.91 CVE
v2.2.81 CVE
v2.2.71 CVE
v2.2.61 CVE
v2.2.51 CVE
v2.2.41 CVE
v2.2.31 CVE
v2.2.21 CVE
v2.2.11 CVE
v2.2.01 CVE
v2.1.61 CVE
v2.1.51 CVE
v2.1.41 CVE
v2.1.31 CVE
v2.1.11 CVE
v2.1.01 CVE
v2.0.91 CVE
Code Analysis
Analyzed Mar 16, 2026

Ultimate Posts Widget Code Analysis

Dangerous Functions
1
Raw SQL Queries
0
0 prepared
Unescaped Output
172
69 escaped
Nonce Checks
6
Capability Checks
6
File Operations
0
External Requests
2
Bundled Libraries
0

Dangerous Functions Found

unserialize$this->values = is_array($raw) ? $raw : @unserialize($raw);analyst\src\Cache\DatabaseCache.php:47

Output Escaping

29% escaped241 total outputs
Attack Surface
2 unprotected

Ultimate Posts Widget Attack Surface

Entry Points6
Unprotected2

AJAX Handlers 6

authwp_ajax_analyst_notification_dismissanalyst\src\Mutator.php:100
authwp_ajax_inisev_installationbanner\misc.php:65
authwp_ajax_inisev_installation_widgetbanner\misc.php:66
authwp_ajax_tifm_notice_actionsmodules\tryOutPlugins\tryOutPlugins.php:36
authwp_ajax_upw_hide_admin_notificationultimate-posts-widget.php:809
authwp_ajax_tifm_save_decisionultimate-posts-widget.php:885
WordPress Hooks 24
actioninitanalyst\main.php:65
actioninitanalyst\src\Analyst.php:80
actionadmin_footeranalyst\src\Mutator.php:56
actionadmin_noticesanalyst\src\Mutator.php:74
actionadmin_enqueue_scriptsanalyst\src\Mutator.php:86
actionins_global_print_carrouselbanner\misc.php:135
actionadmin_footerbanner\misc.php:139
actionin_admin_footermodules\tryOutPlugins\tryOutPlugins.php:64
actionadmin_noticesmodules\tryOutPlugins\tryOutPlugins.php:68
actionadmin_headmodules\tryOutPlugins\tryOutPlugins.php:69
actionin_admin_footermodules\tryOutPlugins\tryOutPlugins.php:70
filterplugin_install_action_linksmodules\tryOutPlugins\tryOutPlugins.php:361
actionsave_postultimate-posts-widget.php:44
actiondeleted_postultimate-posts-widget.php:45
actionswitch_themeultimate-posts-widget.php:46
actionadmin_enqueue_scriptsultimate-posts-widget.php:47
actionadmin_noticesultimate-posts-widget.php:50
actionwp_enqueue_scriptsultimate-posts-widget.php:53
filterexcerpt_moreultimate-posts-widget.php:194
filterexcerpt_lengthultimate-posts-widget.php:198
actionwidgets_initultimate-posts-widget.php:802
actionadmin_initultimate-posts-widget.php:805
actionplugins_loadedultimate-posts-widget.php:833
actionadmin_footerultimate-posts-widget.php:853
Maintenance & Trust

Ultimate Posts Widget Maintenance & Trust

Maintenance Signals

WordPress version tested6.6.5
Last updatedJul 17, 2024
PHP min version
Downloads493K

Community Trust

Rating90/100
Number of ratings55
Active installs10K
Developer Profile

Ultimate Posts Widget Developer Profile

cl272

2 plugins · 40K total installs

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

How We Detect Ultimate Posts Widget

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/ultimate-posts-widget/css/upw-admin.min.css/wp-content/plugins/ultimate-posts-widget/js/upw-admin.min.js/wp-content/plugins/ultimate-posts-widget/css/upw-theme-standard.min.css
Script Paths
js/upw-admin.min.js
Version Parameters
ultimate-posts-widget/css/upw-admin.min.css?ver=ultimate-posts-widget/js/upw-admin.min.js?ver=ultimate-posts-widget/css/upw-theme-standard.min.css?ver=

HTML / DOM Fingerprints

CSS Classes
widget_ultimate_postsupw-notice-wrapper
Data Attributes
data-upw-nonce
JS Globals
upw_admin_scripts_ajax_object
FAQ

Frequently Asked Questions about Ultimate Posts Widget