Plugin Organizer Security & Risk Analysis

wordpress.org/plugins/plugin-organizer

Change plugin order and selectively enable/disable plugins on each post/page.

10K active installs v10.2.4 PHP + WP 4.6.0+ Updated Nov 29, 2025
disable-plugins-by-post-or-pageplugin-load-orderplugin-organizerturn-off-plugins-for-post-or-page
99
A · Safe
CVEs total1
Unpatched0
Last CVEDec 8, 2025
Safety Verdict

Is Plugin Organizer Safe to Use in 2026?

Generally Safe

Score 99/100

Plugin Organizer has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Dec 8, 2025Updated 4mo ago
Risk Assessment

The Plugin Organizer v10.2.4 exhibits a mixed security posture. On the positive side, the plugin has a very small attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events that lack authentication or proper permission checks. This suggests a deliberate effort to limit entry points. However, significant concerns arise from the static analysis. The presence of 8 'dangerous functions', specifically 'unserialize', without any apparent input validation or sanitization, is a major red flag. Furthermore, a concerning 100% of output escaping is not properly implemented, increasing the risk of cross-site scripting (XSS) vulnerabilities. The absence of nonce checks on any identified entry points (though there are none) is also a weakness, as these are standard security measures for WordPress plugins.

The vulnerability history shows one medium-severity CVE related to SQL injection. While there are no currently unpatched vulnerabilities, the past SQL injection issue, combined with the SQL query analysis showing only 17% use prepared statements, suggests a historical pattern of insecure SQL handling. The lack of taint analysis results is unusual, but it doesn't negate the identified risks. In conclusion, while the plugin has a limited attack surface and no known critical or high-severity vulnerabilities, the static analysis reveals critical weaknesses in 'unserialize' usage and output escaping, alongside a history of SQL injection vulnerabilities and poor SQL query preparation. These present tangible risks that require immediate attention.

Key Concerns

  • Dangerous function 'unserialize' found
  • 0% output escaping
  • 17% SQL queries use prepared statements
  • Medium severity CVE history
  • 0 Nonce checks on entry points
Vulnerabilities
1

Plugin Organizer Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-13417medium · 6.5Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Plugin Organizer <= 10.2.3 - Authenticated (Subscriber+) SQL Injection

Dec 8, 2025 Patched in 10.2.4 (30d)
Code Analysis
Analyzed Mar 16, 2026

Plugin Organizer Code Analysis

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

Dangerous Functions Found

unserialize'std_plugins'=>(is_array(@unserialize($storedPluginLists['disabled_plugins'])))? @unserialize($storetpl\common_js.php:22
unserialize'std_plugins'=>(is_array(@unserialize($storedPluginLists['disabled_plugins'])))? @unserialize($storetpl\common_js.php:22
unserialize'mobile_plugins'=>(is_array(@unserialize($storedPluginLists['disabled_mobile_plugins'])))? @unserialtpl\common_js.php:23
unserialize'mobile_plugins'=>(is_array(@unserialize($storedPluginLists['disabled_mobile_plugins'])))? @unserialtpl\common_js.php:23
unserialize'std_groups'=>(is_array(@unserialize($storedPluginLists['disabled_groups'])))? @unserialize($storedPtpl\common_js.php:24
unserialize'std_groups'=>(is_array(@unserialize($storedPluginLists['disabled_groups'])))? @unserialize($storedPtpl\common_js.php:24
unserialize'mobile_groups'=>(is_array(@unserialize($storedPluginLists['disabled_mobile_groups'])))? @unserializtpl\common_js.php:25
unserialize'mobile_groups'=>(is_array(@unserialize($storedPluginLists['disabled_mobile_groups'])))? @unserializtpl\common_js.php:25

SQL Query Safety

17% prepared6 total queries

Output Escaping

0% escaped86 total outputs
Attack Surface

Plugin Organizer Attack Surface

Entry Points0
Unprotected0
Maintenance & Trust

Plugin Organizer Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedNov 29, 2025
PHP min version
Downloads771K

Community Trust

Rating94/100
Number of ratings227
Active installs10K
Developer Profile

Plugin Organizer Developer Profile

Jeff Sterup

2 plugins · 10K total installs

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

How We Detect Plugin Organizer

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/plugin-organizer/js/validation.js/wp-content/plugins/plugin-organizer/css/plugin-organizer.css
Script Paths
/wp-content/plugins/plugin-organizer/js/plugin-organizer.js
Version Parameters
plugin-organizer/css/plugin-organizer.css?ver=plugin-organizer/js/plugin-organizer.js?ver=

HTML / DOM Fingerprints

CSS Classes
PO-permalink-inputPO-ui-dialogPO-ui-noticesPO-content-wrapPO-add-permalinkPO-disable-all-pluginsPO-enable-all-pluginsPO-disable-all-groups+28 more
Data Attributes
data-po-help-dialogdata-po-dialog-titledata-po-dialog-contentdata-po-dialog-widthdata-po-dialog-heightdata-po-dialog-modal+12 more
JS Globals
tmpObjectCountglobalPluginstoggleButtonOptionsPO_attach_help_dialogPO_display_ui_dialogPO_activate_pt_override+7 more
FAQ

Frequently Asked Questions about Plugin Organizer