Unread Posts Security & Risk Analysis

wordpress.org/plugins/unread-posts

Add flexible unread post lists to your sidebar or under single posts. Easily extendable for developers wanting to leverage it.

10 active installs v1.0.3 PHP + WP 3.5.0+ Updated Oct 14, 2015
postsrelatedwidget
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Unread Posts Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 10yr ago
Risk Assessment

The "unread-posts" plugin v1.0.3 presents a generally positive security posture based on the static analysis. The plugin demonstrates good practice by having zero AJAX handlers, REST API routes, shortcodes, or cron events exposed without authentication or proper checks, indicating a very small attack surface. Furthermore, the absence of dangerous functions, file operations, and external HTTP requests, along with 100% of SQL queries using prepared statements, are strong indicators of secure coding. The taint analysis revealing no unsanitized flows further reinforces this positive outlook.

However, a significant concern arises from the low percentage (13%) of properly escaped output. This suggests a high potential for cross-site scripting (XSS) vulnerabilities, where malicious scripts could be injected into the website and executed by unsuspecting users. The complete absence of nonce and capability checks, while not directly exploitable due to the limited attack surface, represents a missed opportunity for defense-in-depth. The plugin's vulnerability history is clean, with no recorded CVEs, which is excellent, but it also means there's no historical data to assess how the developers have handled past security issues.

In conclusion, while the plugin is architecturally secure and avoids common pitfalls like raw SQL or vulnerable entry points, the inadequate output escaping is a critical weakness that needs immediate attention. The lack of robust authorization checks, though currently mitigated by the limited attack surface, is another area for improvement. Addressing the output escaping issue is paramount to mitigate the risk of XSS vulnerabilities.

Key Concerns

  • Low output escaping percentage
  • Missing nonce checks
  • Missing capability checks
Vulnerabilities
None known

Unread Posts Security Vulnerabilities

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

Unread Posts Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
28
4 escaped
Nonce Checks
0
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

13% escaped32 total outputs
Attack Surface

Unread Posts Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 8
actionwpclasses\class-up-unread-posts-handler.php:27
actionwidgets_initclasses\class-up-unread-posts.php:53
actionadmin_menuclasses\class-up-unread-posts.php:54
actionadmin_enqueue_scriptsclasses\class-up-unread-posts.php:55
filterthe_contentclasses\class-up-unread-posts.php:56
actionadmin_initclasses\class-up-unread-posts.php:196
actionplugins_loadedunead-posts.php:19
filterup/handlerunead-posts.php:24
Maintenance & Trust

Unread Posts Maintenance & Trust

Maintenance Signals

WordPress version tested4.2.39
Last updatedOct 14, 2015
PHP min version
Downloads2K

Community Trust

Rating100/100
Number of ratings1
Active installs10
Developer Profile

Unread Posts Developer Profile

danielpataki

12 plugins · 7K total installs

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

How We Detect Unread Posts

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/unread-posts/css/sumoselect.css/wp-content/plugins/unread-posts/css/styles.css/wp-content/plugins/unread-posts/js/jquery.sumoselect.min.js/wp-content/plugins/unread-posts/js/scripts.js
Script Paths
/wp-content/plugins/unread-posts/js/scripts.js/wp-content/plugins/unread-posts/js/jquery.sumoselect.min.js
Version Parameters
unread-posts/css/styles.css?ver=unread-posts/js/scripts.js?ver=unread-posts/css/sumoselect.css?ver=unread-posts/js/jquery.sumoselect.min.js?ver=

HTML / DOM Fingerprints

CSS Classes
unread-posts
Data Attributes
data-post_type_select_placeholder
JS Globals
up
FAQ

Frequently Asked Questions about Unread Posts