Posts By Category Widget Security & Risk Analysis

wordpress.org/plugins/widget-posts-by-category

A simple, themeable widget which displays posts in the category, order, and quantity of your choosing.

80 active installs v1.0.4 PHP + WP 3.7+ Updated Dec 17, 2013
categorypoststhemeablewidget
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Posts By Category Widget Safe to Use in 2026?

Generally Safe

Score 85/100

Posts By Category Widget has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 12yr ago
Risk Assessment

The "widget-posts-by-category" plugin, version 1.0.4, presents a mixed security picture. On the positive side, it demonstrates good practices by not exposing any AJAX handlers, REST API routes, shortcodes, or cron events without proper authentication or permission checks, resulting in a zero attack surface. Furthermore, all its SQL queries are handled using prepared statements, and it avoids file operations and external HTTP requests. The absence of known vulnerabilities in its history is also a strong positive indicator.

However, the static analysis reveals significant concerns. The presence of dangerous functions like `unserialize` and `create_function` is a major red flag. `unserialize` can lead to remote code execution if untrusted data is unserialized, and `create_function` is deprecated and can also be a security risk due to its ability to execute arbitrary code. The low percentage of properly escaped output (45%) is another critical weakness, suggesting a high likelihood of cross-site scripting (XSS) vulnerabilities, especially when combined with the lack of nonce checks and capability checks. The absence of taint analysis results could be misleading if the complex interactions of these dangerous functions were not fully captured.

In conclusion, while the plugin has a clean vulnerability history and a contained attack surface, the identified dangerous functions and significant output escaping deficiencies pose substantial risks. The potential for RCE via `unserialize` and XSS vulnerabilities due to unescaped output are serious concerns that overshadow its positive attributes. Users should exercise extreme caution until these issues are addressed.

Key Concerns

  • Presence of dangerous function: unserialize
  • Presence of dangerous function: create_function
  • Low output escaping percentage (45%)
  • Missing nonce checks
  • Missing capability checks
Vulnerabilities
None known

Posts By Category Widget Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Posts By Category Widget Code Analysis

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

Dangerous Functions Found

unserialize$post_category = unserialize($instance['post_category']);catswidget.php:60
unserialize$selected_cats = ($instance['post_category'] != '') ? unserialize($instance['post_category']) : FALScatswidget.php:151
create_functionadd_action( 'widgets_init', create_function( '', 'register_widget("Cats_Loop_Widget");' ) );catswidget.php:273

Output Escaping

45% escaped29 total outputs
Attack Surface

Posts By Category Widget Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 2
actioninitcatswidget.php:26
actionwidgets_initcatswidget.php:273
Maintenance & Trust

Posts By Category Widget Maintenance & Trust

Maintenance Signals

WordPress version tested3.7.41
Last updatedDec 17, 2013
PHP min version
Downloads6K

Community Trust

Rating100/100
Number of ratings2
Active installs80
Developer Profile

Posts By Category Widget Developer Profile

volfro

1 plugin · 80 total installs

84
trust score
Avg Security Score
85/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Posts By Category Widget

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/widget-posts-by-category/views/admin.php/wp-content/plugins/widget-posts-by-category/views/template.php

HTML / DOM Fingerprints

CSS Classes
cats-loop-widget
Data Attributes
id="category--1"
FAQ

Frequently Asked Questions about Posts By Category Widget