Redactor Security & Risk Analysis

wordpress.org/plugins/redactor

Versatile Censor Tool

10 active installs v3.1.48f PHP + WP 3.0.0+ Updated Jun 4, 2012
film-endingpostredactsecretsports
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Redactor Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 13yr ago
Risk Assessment

The Redactor plugin version 3.1.48f presents a mixed security posture. On the positive side, the plugin has no recorded CVEs and its SQL queries are properly secured with prepared statements. The attack surface is also minimal, with no apparent AJAX handlers, REST API routes, shortcodes, or cron events, and importantly, none of these are exposed without authentication checks. This suggests a cautious approach to external input handling.

However, significant concerns arise from the static code analysis. The presence of the `unserialize` function is a critical warning sign, as it is a common vector for remote code execution when processing untrusted input. Coupled with this, the analysis reveals that 0% of output is properly escaped, indicating a high risk of cross-site scripting (XSS) vulnerabilities. The taint analysis, while showing no critical or high severity flows, did find 3 flows with unsanitized paths, which, when combined with the unescaped output and the `unserialize` function, creates a potentially dangerous combination.

Given the complete lack of vulnerability history, it's difficult to draw definitive conclusions about its long-term security. This could indicate diligent security practices or simply a lack of widespread use and therefore less scrutiny. The absence of nonce checks and capability checks on any potential entry points (though none were found) is a weakness, as is the bundling of the TinyMCE library, which could be outdated or have its own vulnerabilities. Overall, while the plugin appears to have a small attack surface and secure SQL, the risks associated with `unserialize` and unescaped output are substantial and require immediate attention.

Key Concerns

  • Presence of 'unserialize' function
  • 0% output escaping
  • Flows with unsanitized paths found
  • Bundled library (TinyMCE)
  • No Nonce checks
  • No Capability checks
Vulnerabilities
None known

Redactor Security Vulnerabilities

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

Redactor Code Analysis

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

Dangerous Functions Found

unserialize$new_key = unserialize ( $key );library\base\data\xml.php:165
unserialize$data [$new_key] = unserialize ( $data [$new_key] );library\wordpress\data\legacy.php:122
unserialize$data = unserialize($value[0]);library\wordpress\data\meta.php:133

Bundled Libraries

TinyMCE

SQL Query Safety

100% prepared1 total queries

Output Escaping

0% escaped8 total outputs
Data Flows
3 unsanitized

Data Flow Analysis

3 flows3 with unsanitized paths
basic_auth (library\wordpress\action.php:306)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Redactor Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 2
actioninitlibrary\wordpress\application.php:54
actioninitlibrary\wordpress\data\meta.php:21
Maintenance & Trust

Redactor Maintenance & Trust

Maintenance Signals

WordPress version tested3.3.2
Last updatedJun 4, 2012
PHP min version
Downloads7K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

Redactor Developer Profile

DCoda

4 plugins · 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 Redactor

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/redactor/library/base/public/css/images.css/wp-content/plugins/redactor/library/base/public/css/admin.css/wp-content/plugins/redactor/library/base/public/css/front.css/wp-content/plugins/redactor/library/base/public/css/common.css/wp-content/plugins/redactor/library/base/public/js/script.js
Script Paths
/wp-content/plugins/redactor/library/base/public/js/script.js
Version Parameters
/wp-content/plugins/redactor/library/base/public/css/images.css?ver=/wp-content/plugins/redactor/library/base/public/css/admin.css?ver=/wp-content/plugins/redactor/library/base/public/css/front.css?ver=/wp-content/plugins/redactor/library/base/public/css/common.css?ver=/wp-content/plugins/redactor/library/base/public/js/script.js?ver=

HTML / DOM Fingerprints

CSS Classes
v48fv_16x16_info
Data Attributes
data-dodebug
JS Globals
v48fv_data
FAQ

Frequently Asked Questions about Redactor