Theme Companion Security & Risk Analysis

wordpress.org/plugins/theme-companion

This plugin is used to assist in designing sites without editing the original style.css

100 active installs v1.0.2 PHP + WP 3.0+ Updated Nov 3, 2014
companioncsseditormultisitetheme
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Theme Companion Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 11yr ago
Risk Assessment

The "theme-companion" v1.0.2 plugin exhibits a generally good security posture in terms of its attack surface and lack of known vulnerabilities. The plugin does not expose any direct AJAX handlers, REST API routes, shortcodes, or cron events, significantly limiting potential entry points for attackers. Furthermore, the absence of known CVEs and a clean vulnerability history are positive indicators. All SQL queries are also properly prepared, mitigating risks associated with SQL injection.

However, the static analysis reveals critical weaknesses. The plugin uses dangerous functions, specifically `preg_replace(/e)`, which can lead to arbitrary code execution if not handled with extreme care and sanitization, especially when dealing with user-supplied input. More concerning is the finding that 0% of outputs are properly escaped. This widespread lack of output escaping creates a high risk of Cross-Site Scripting (XSS) vulnerabilities, allowing attackers to inject malicious scripts into the website. While taint analysis shows no unsanitized paths in the limited flows analyzed, the presence of dangerous functions and unescaped output presents significant risks.

In conclusion, while the plugin boasts a low attack surface and a clean vulnerability history, the identified code signals, particularly the use of `preg_replace(/e)` and the complete lack of output escaping, represent substantial security concerns. These issues could be exploited to achieve arbitrary code execution and XSS. The plugin needs immediate attention to address these critical code-level weaknesses.

Key Concerns

  • Dangerous functions: preg_replace(/e)
  • Unescaped output: 0% properly escaped
  • Capability checks: 0
Vulnerabilities
None known

Theme Companion Security Vulnerabilities

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

Theme Companion Code Analysis

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

Dangerous Functions Found

preg_replace(/e)preg_replace("/(t\.scripts_to_load=\s*)\[([^\]]*)\];/e"edit_area\edit_area_compressor.php:146
preg_replace(/e)preg_replace("/(t\.sub_scripts_to_load=\s*)\[([^\]]*)\];/e"edit_area\edit_area_compressor.php:150

Output Escaping

0% escaped19 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
companion_admin_page (companion_core.php:73)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Theme Companion Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 3
actionwp_headcompanion.php:31
actionadmin_menucompanion_core.php:3
actionadmin_footcompanion_core.php:4
Maintenance & Trust

Theme Companion Maintenance & Trust

Maintenance Signals

WordPress version tested4.0.38
Last updatedNov 3, 2014
PHP min version
Downloads4K

Community Trust

Rating0/100
Number of ratings0
Active installs100
Developer Profile

Theme Companion Developer Profile

Frumph

2 plugins · 400 total installs

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

How We Detect Theme Companion

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/theme-companion/tabbed/tabbed_pages_ie.css/wp-content/plugins/theme-companion/tabbed/tabbed_pages.css
Script Paths
/wp-content/plugins/theme-companion/edit_area/edit_area_full.js/wp-content/plugins/theme-companion/tabbed/tabbed_pages.js

HTML / DOM Fingerprints

CSS Classes
ccadminonoffshowinside
HTML Comments
<!-- Companion Custom CSS over-rides for [ ]: - -->+4 more
Data Attributes
id="newcontent"id="ccadmin"class="on"title="cceditor"class="off"title="ccexamples"+6 more
JS Globals
editAreaLoadercompanion_pluginfocompanion_is_multisitecompanion_init_hookscompanion_css_footercompanion_load_scripts+5 more
FAQ

Frequently Asked Questions about Theme Companion