Query Editor Security & Risk Analysis

wordpress.org/plugins/query-editor

Adds a simple set of options to modify the default query by changing what post types are used, the ordering and more.

10 active installs v0.3.1 PHP + WP 3.3+ Updated Mar 12, 2012
custom-post-typeseditorlooppostsquery
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Query Editor Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 14yr ago
Risk Assessment

The "query-editor" v0.3.1 plugin exhibits a strong security posture based on the provided static analysis. The complete absence of direct attack surface points like AJAX handlers, REST API routes, shortcodes, and cron events is a significant strength, as it limits the potential for unauthorized access or malicious input. Furthermore, the fact that all identified SQL queries utilize prepared statements is excellent practice, mitigating SQL injection risks. The plugin also demonstrates a commitment to security by including capability checks, although it lacks nonce checks for any potential entry points, which is a concern if any are inadvertently introduced. The low percentage of properly escaped output (44%) is a notable weakness, as it indicates a risk of Cross-Site Scripting (XSS) vulnerabilities. The taint analysis showing no unsanitized paths and the clean vulnerability history, with no known CVEs, further contribute to a generally positive security assessment, but the unescaped output remains a key area of concern.

While the plugin has no known vulnerabilities and a minimal attack surface, the 44% rate of proper output escaping suggests a significant potential for XSS vulnerabilities. This means that data displayed to users might not be properly sanitized, allowing for the injection of malicious scripts. The lack of nonce checks, while not directly exploitable given the absence of AJAX or similar entry points, represents a missed opportunity for robust security if any such features were to be added in the future. The vulnerability history is clean, which is a positive sign, but it's important to remember that absence of evidence is not evidence of absence. The core strength lies in the minimal attack surface and secure SQL practices, but the output escaping issue requires attention to achieve a truly secure state.

Key Concerns

  • Low percentage of properly escaped output
  • Missing nonce checks
Vulnerabilities
None known

Query Editor Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Query Editor Release Timeline

v0.3.1Current
v0.3
v0.2
v0.1
Code Analysis
Analyzed Mar 17, 2026

Query Editor Code Analysis

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

Output Escaping

44% escaped18 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

2 flows
save_query_editor (query-editor.php:144)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Query Editor Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 3
actionadmin_initquery-editor.php:12
filterposts_clausesquery-editor.php:186
actionpre_get_postsquery-editor.php:214
Maintenance & Trust

Query Editor Maintenance & Trust

Maintenance Signals

WordPress version tested3.3.2
Last updatedMar 12, 2012
PHP min version
Downloads2K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

Query Editor Developer Profile

Robert O'Rourke

5 plugins · 740 total installs

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

How We Detect Query Editor

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

Asset Fingerprints

HTML / DOM Fingerprints

CSS Classes
custom-orderby
Data Attributes
name="qe_post_types[]"name="qe_exclude_terms[name="qe_order"name="qe_orderby"name="qe_orderby_tax"name="qe_orderby_tax_order"+5 more
FAQ

Frequently Asked Questions about Query Editor