Postmenu Security & Risk Analysis

wordpress.org/plugins/postmenu

Duplicate (Clone) Posts, Pages, Menus, Menu links (Items of Menu) and Taxonomies. Easily add any Post or Page to the Menus, Display options in the men …

40 active installs v1.4.2 PHP + WP 3.7+ Updated Jul 30, 2017
clone-item-menuduplicate-item-menuduplicate-menuduplicate-postlink-post-menu
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Postmenu Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 8yr ago
Risk Assessment

The "postmenu" plugin v1.4.2 presents a mixed security posture. While it demonstrates good practices in terms of SQL query handling and a lack of known vulnerabilities, significant concerns arise from its attack surface and output sanitization. The presence of 11 AJAX handlers without authentication checks is a critical weakness, creating numerous potential entry points for unauthorized actions.

Furthermore, the taint analysis reveals 9 flows with unsanitized paths, indicating a risk of insecure data handling. The code also exhibits a substantial number of outputs (44%) that are not properly escaped, leading to a high potential for Cross-Site Scripting (XSS) vulnerabilities. Although there is no known vulnerability history, this does not negate the immediate risks identified in the static and taint analysis. The plugin's strengths lie in its secure SQL practices and the absence of documented CVEs, but these are overshadowed by the exposure of its AJAX endpoints and insufficient output sanitization.

Key Concerns

  • AJAX handlers without authentication checks
  • Flows with unsanitized paths
  • Improperly escaped output
  • Large attack surface without auth
Vulnerabilities
None known

Postmenu Security Vulnerabilities

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

Postmenu Code Analysis

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

Output Escaping

44% escaped118 total outputs
Data Flows
9 unsanitized

Data Flow Analysis

11 flows9 with unsanitized paths
postmenu_menu_link_fieldsets (admin\class-postmenu-admin.php:330)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
11 unprotected

Postmenu Attack Surface

Entry Points12
Unprotected11

AJAX Handlers 11

authwp_ajax_postmenu_ajax_duplicate_post_adminincludes\class-postmenu.php:181
authwp_ajax_postmenu_ajax_advanced_duplicate_post_adminincludes\class-postmenu.php:182
authwp_ajax_postmenu_advanced_duplicate_fieldsetsincludes\class-postmenu.php:183
authwp_ajax_postmenu_menu_link_fieldsetsincludes\class-postmenu.php:184
authwp_ajax_postmenu_admin_ajax_duplicate_menu_linkincludes\class-postmenu.php:185
authwp_ajax_postmenu_admin_ajax_get_menu_items_boxincludes\class-postmenu.php:186
authwp_ajax_postmenu_admin_ajax_get_menu_locations_boxincludes\class-postmenu.php:187
authwp_ajax_postmenu_admin_ajax_update_menuincludes\class-postmenu.php:188
authwp_ajax_postmenu_admin_ajax_delete_menuincludes\class-postmenu.php:189
authwp_ajax_postmenu_admin_ajax_delete_menu_itemincludes\class-postmenu.php:190
authwp_ajax_postmenu_ajax_duplicate_postincludes\class-postmenu.php:207

Shortcodes 1

[postmenu-default] includes\class-postmenu.php:208
WordPress Hooks 24
actionadmin_initaddons\postmenu-post-type-wpml.php:8
actionpostmenu_duplicate_post_type_endaddons\postmenu-post-type-wpml.php:12
filterpost_row_actionsadmin\class-postmenu-admin.php:217
filterpage_row_actionsadmin\class-postmenu-admin.php:218
filtertag_row_actionsadmin\class-postmenu-admin.php:219
actionedit_form_after_editoradmin\class-postmenu-admin.php:260
actionadmin_action_postmenu_save_as_new_postadmin\class-postmenu-admin.php:263
actionadmin_action_postmenu_save_as_new_menuadmin\class-postmenu-admin.php:267
actionadmin_action_postmenu_save_as_new_taxonomyadmin\class-postmenu-admin.php:271
filterwp_edit_nav_menu_walkeradmin\includes\class-postmenu-duplicate-menu.php:21
actionwp_nav_menu_item_custom_fieldsadmin\includes\class-postmenu-duplicate-menu.php:24
actionwp_update_nav_menu_itemadmin\includes\class-postmenu-duplicate-menu.php:27
filterwp_setup_nav_menu_itemadmin\includes\class-postmenu-duplicate-menu.php:30
filterwp_get_nav_menu_itemsadmin\includes\class-postmenu-duplicate-menu.php:35
actionplugins_loadedincludes\class-postmenu.php:153
actionadmin_enqueue_scriptsincludes\class-postmenu.php:168
actionadmin_enqueue_scriptsincludes\class-postmenu.php:169
actionadmin_menuincludes\class-postmenu.php:172
actionadmin_initincludes\class-postmenu.php:174
actionwp_loadedincludes\class-postmenu.php:176
actionadmin_initincludes\class-postmenu.php:178
actionwp_before_admin_bar_renderincludes\class-postmenu.php:179
actionwp_enqueue_scriptsincludes\class-postmenu.php:204
actionwp_enqueue_scriptsincludes\class-postmenu.php:205
Maintenance & Trust

Postmenu Maintenance & Trust

Maintenance Signals

WordPress version tested4.8.28
Last updatedJul 30, 2017
PHP min version
Downloads2K

Community Trust

Rating100/100
Number of ratings7
Active installs40
Developer Profile

Postmenu Developer Profile

liontude

1 plugin · 40 total installs

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

How We Detect Postmenu

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/postmenu/css/postmenu-admin.css/wp-content/plugins/postmenu/js/postmenu-admin.js
Script Paths
js/postmenu-admin.js
Version Parameters
postmenu-admin.css?ver=postmenu-admin.js?ver=

HTML / DOM Fingerprints

Data Attributes
data-wp-postmenu
JS Globals
postmenu_success_message
FAQ

Frequently Asked Questions about Postmenu