Expiring Posts Security & Risk Analysis

wordpress.org/plugins/expiring-posts

This plugin adds functionality to expire a post on a given date.

1K active installs v1.3 PHP 5.3+ WP 3.0.1+ Updated Jan 23, 2022
expireexpire-postsexpiringexpiring-postspost-expiry
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Expiring Posts Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 4yr ago
Risk Assessment

The "expiring-posts" plugin v1.3 exhibits a strong security posture based on the provided static analysis and vulnerability history. The complete absence of known CVEs and the plugin's adherence to secure coding practices like prepared statements for SQL queries, nonce checks, and capability checks are highly commendable. The limited attack surface with no unprotected entry points further enhances its security.

However, a minor concern arises from the output escaping, where 25% of the outputs are not properly escaped. While this doesn't indicate a critical vulnerability in this specific analysis, it represents a potential area for XSS (Cross-Site Scripting) vulnerabilities if user-supplied data is involved in those unescaped outputs. This is a common oversight that can be exploited in certain contexts, even with an otherwise secure plugin.

Overall, the plugin demonstrates a robust commitment to security, with no critical or high-risk findings in the code analysis. The vulnerability history is clean, suggesting consistent secure development. The only area for improvement is ensuring 100% output escaping to mitigate any potential future risks, even if none are currently evident.

Key Concerns

  • Unescaped outputs detected
Vulnerabilities
None known

Expiring Posts Security Vulnerabilities

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

Expiring Posts Code Analysis

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

SQL Query Safety

100% prepared1 total queries

Output Escaping

75% escaped12 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<expiring-posts> (expiring-posts.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Expiring Posts Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 8
actionpost_submitbox_misc_actionsexpiring-posts.php:56
actionadmin_enqueue_scriptsexpiring-posts.php:59
actioninitexpiring-posts.php:62
actionexpired_postexpiring-posts.php:65
actionafter_delete_postexpiring-posts.php:68
actionexp_expire_post_eventexpiring-posts.php:71
actionsave_postexpiring-posts.php:74
actiondisplay_post_statesexpiring-posts.php:77

Scheduled Events 1

exp_expire_post_event
Maintenance & Trust

Expiring Posts Maintenance & Trust

Maintenance Signals

WordPress version tested5.9.13
Last updatedJan 23, 2022
PHP min version5.3
Downloads5K

Community Trust

Rating70/100
Number of ratings2
Active installs1K
Developer Profile

Expiring Posts Developer Profile

Ivan

2 plugins · 21K total installs

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

How We Detect Expiring Posts

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/expiring-posts/inc/js/expiring-posts.js/wp-content/plugins/expiring-posts/inc/css/expiring-posts.css
Version Parameters
expiring-posts/inc/js/expiring-posts.js?ver=expiring-posts/inc/css/expiring-posts.css?ver=

HTML / DOM Fingerprints

CSS Classes
expiry
Data Attributes
name="exp-aa"name="exp-mm"name="exp-jj"name="exp-hh"name="exp-mn"name="exp-ss"+3 more
JS Globals
AdminExpiringPosts
FAQ

Frequently Asked Questions about Expiring Posts