LH Archived Post Status Security & Risk Analysis

wordpress.org/plugins/lh-archived-post-status

Allows posts and pages to be archived so you can remove content from the main loop and feed without having to trash it.

4K active installs v3.11 PHP + WP 5.0+ Updated Oct 16, 2024
adminpagespostsstatusworkflow
92
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is LH Archived Post Status Safe to Use in 2026?

Generally Safe

Score 92/100

LH Archived Post Status has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1yr ago
Risk Assessment

The "lh-archived-post-status" plugin version 3.11 exhibits a generally strong security posture based on the provided static analysis and vulnerability history. The plugin demonstrates good security practices by having no critical or high-severity vulnerabilities in its history and no known CVEs. The code analysis reveals a clean slate regarding dangerous functions, SQL injection risks (all queries use prepared statements), file operations, and external HTTP requests. Furthermore, the absence of AJAX handlers and REST API routes, along with a complete lack of untainted flows, indicates a minimal attack surface and robust input handling.

However, a notable area for improvement lies in output escaping. With 53% of outputs properly escaped, there's a significant portion that remains potentially vulnerable to cross-site scripting (XSS) attacks. While the absence of specific taint analysis findings for unsanitized paths is positive, the unescaped outputs represent a tangible risk. The plugin also implements nonce and capability checks, which are positive signs of secure development, but the low number of capability checks (16) compared to the total outputs (47) might indicate missed opportunities for granular permission control in certain output contexts. Overall, the plugin is in good shape, but addressing the output escaping is crucial for enhancing its security.

Key Concerns

  • Inconsistent output escaping (47% potentially unescaped)
Vulnerabilities
None known

LH Archived Post Status Security Vulnerabilities

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

LH Archived Post Status Code Analysis

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

Output Escaping

53% escaped47 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
ajax_do_archive (lh-archived-post-status.php:653)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

LH Archived Post Status Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 38
actionadmin_enqueue_scriptsincludes\wp-statuses\inc\admin\classes\class-wp-statuses-admin.php:81
actionadd_meta_boxesincludes\wp-statuses\inc\admin\classes\class-wp-statuses-admin.php:82
filterpress_this_save_postincludes\wp-statuses\inc\admin\classes\class-wp-statuses-admin.php:85
actioninitincludes\wp-statuses\inc\admin\classes\class-wp-statuses-admin.php:89
actionenqueue_block_editor_assetsincludes\wp-statuses\inc\admin\classes\class-wp-statuses-admin.php:90
filterblock_editor_rest_api_preload_pathsincludes\wp-statuses\inc\admin\classes\class-wp-statuses-admin.php:92
filterblock_editor_preload_pathsincludes\wp-statuses\inc\admin\classes\class-wp-statuses-admin.php:94
actionrest_api_initincludes\wp-statuses\inc\core\functions.php:511
actioninitincludes\wp-statuses\wp-statuses.php:180
actioninitincludes\wp-statuses\wp-statuses.php:181
actionchange_localeincludes\wp-statuses\wp-statuses.php:182
actionplugins_loadedincludes\wp-statuses\wp-statuses.php:186
actioninitincludes\wp-statuses\wp-statuses.php:190
actionplugins_loadedincludes\wp-statuses\wp-statuses.php:244
filterthe_contentlh-archived-post-status.php:617
actionpre_get_postslh-archived-post-status.php:1075
actionpre_get_postslh-archived-post-status.php:1076
actionadmin_initlh-archived-post-status.php:1079
actiontransition_post_statuslh-archived-post-status.php:1082
actionadd_meta_boxeslh-archived-post-status.php:1085
actionsave_postlh-archived-post-status.php:1088
filterthe_titlelh-archived-post-status.php:1091
actionwp_body_openlh-archived-post-status.php:1092
filterpage_row_actionslh-archived-post-status.php:1095
filterpost_row_actionslh-archived-post-status.php:1096
filterdisplay_post_stateslh-archived-post-status.php:1102
filterwp_sitemaps_posts_query_argslh-archived-post-status.php:1105
actionlh_archived_post_status_runlh-archived-post-status.php:1108
actionlh_archived_post_status_initiallh-archived-post-status.php:1109
filterwp_statuses_get_supported_post_typeslh-archived-post-status.php:1113
filterlh_super_cache_helper_statuseslh-archived-post-status.php:1122
filterlh_copy_to_draft_meta_defaults_filterlh-archived-post-status.php:1125
filterlh_wayback_machine_get_applicable_post_statuseslh-archived-post-status.php:1128
filterlh_blc_get_applicable_post_statuseslh-archived-post-status.php:1131
filterlh_more_modal_template_list_endlh-archived-post-status.php:1134
actiontransition_post_statuslh-archived-post-status.php:1146
actioninitlh-archived-post-status.php:1220
actionplugins_loadedlh-archived-post-status.php:1223

Scheduled Events 2

lh_archived_post_status_run
lh_archived_post_status_initial
Maintenance & Trust

LH Archived Post Status Maintenance & Trust

Maintenance Signals

WordPress version tested6.6.5
Last updatedOct 16, 2024
PHP min version
Downloads50K

Community Trust

Rating82/100
Number of ratings18
Active installs4K
Developer Profile

LH Archived Post Status Developer Profile

shawfactor

77 plugins · 15K total installs

91
trust score
Avg Security Score
87/100
Avg Patch Time
7 days
View full developer profile
Detection Fingerprints

How We Detect LH Archived Post Status

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/lh-archived-post-status/css/lh-archived-post-status.css/wp-content/plugins/lh-archived-post-status/js/lh-archived-post-status.js
Script Paths
/wp-content/plugins/lh-archived-post-status/js/lh-archived-post-status.js
Version Parameters
lh-archived-post-status/css/lh-archived-post-status.css?ver=lh-archived-post-status/js/lh-archived-post-status.js?ver=

HTML / DOM Fingerprints

CSS Classes
lh-archived-post-status-messagelh-archived-post-status-title-label
HTML Comments
<!-- LH Archived Post Status Admin --><!-- LH Archived Post Status Public -->
Data Attributes
data-lh-archived-post-status-title-labeldata-lh-archived-post-status-message
JS Globals
lh_archived_post_status_optionslh_archive_post_status
FAQ

Frequently Asked Questions about LH Archived Post Status