TinyMCE Custom Styles Security & Risk Analysis

wordpress.org/plugins/tinymce-custom-styles

Enhance TinyMCE visual editor with a dedicated stylesheet, a stylesheet shared with the frontend, and custom styles in the Formats dropdown.

8K active installs v1.1.5 PHP 5.6+ WP 5.0+ Updated Jun 29, 2024
editorformatstyletinymcevisual
91
A · Safe
CVEs total2
Unpatched0
Last CVEJun 19, 2023
Safety Verdict

Is TinyMCE Custom Styles Safe to Use in 2026?

Generally Safe

Score 91/100

TinyMCE Custom Styles has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

2 known CVEsLast CVE: Jun 19, 2023Updated 1yr ago
Risk Assessment

The "tinymce-custom-styles" plugin, version 1.1.5, presents a mixed security posture. On the positive side, it boasts a zero attack surface with no exposed AJAX handlers, REST API routes, shortcodes, or cron events that lack authentication or permission checks. Furthermore, all identified SQL queries utilize prepared statements, and there are no external HTTP requests, mitigating common attack vectors. However, a significant concern is the low rate of proper output escaping (37%), which indicates a potential for Cross-Site Scripting (XSS) vulnerabilities if untrusted data is not handled meticulously. The taint analysis, while not revealing critical or high severity flaws, did identify two flows with unsanitized paths, suggesting that input sanitization could be improved. The plugin's vulnerability history is also a concern, with two past medium-severity CVEs, both related to Cross-Site Scripting. While currently unpatched CVEs are zero, the pattern of past XSS vulnerabilities combined with insufficient output escaping signals a recurring weakness that attackers could exploit. In conclusion, while the plugin has a well-defended entry point and secure database practices, the lack of robust output escaping and past XSS issues are notable weaknesses that require attention to ensure comprehensive security.

Key Concerns

  • Low output escaping percentage
  • Taint flows with unsanitized paths
  • Past medium severity XSS vulnerabilities
  • Bundled outdated library (TinyMCE v1.0)
Vulnerabilities
2 published

TinyMCE Custom Styles Security Vulnerabilities

CVEs by Year

2 CVEs in 2023
2023
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

CVE-2023-2967medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

TinyMCE Custom Styles <= 1.1.3 - Authenticated (Administrator+) Stored Cross-Site Scripting

Jun 19, 2023 Patched in 1.1.4 (218d)
CVE-2023-23995medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

TinyMCE Custom Styles <= 1.1.2 - Authenticated (Administrator+) Stored Cross-Site Scripting

Jan 27, 2023 Patched in 1.1.3 (361d)
Code Analysis
Analyzed Mar 16, 2026

TinyMCE Custom Styles Code Analysis

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

Bundled Libraries

TinyMCE1.0

Output Escaping

37% escaped89 total outputs
Data Flows · Security
2 unsanitized

Data Flow Analysis

2 flows2 with unsanitized paths
tcs_backend_page (tinymce-custom-styles.php:344)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

TinyMCE Custom Styles Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 9
actioninittinymce-custom-styles.php:23
filtermce_csstinymce-custom-styles.php:250
actionenqueue_block_editor_assetstinymce-custom-styles.php:258
filtermce_csstinymce-custom-styles.php:267
actionwp_enqueue_styletinymce-custom-styles.php:275
actionenqueue_block_assetstinymce-custom-styles.php:276
filtermce_buttons_2tinymce-custom-styles.php:286
filtertiny_mce_before_inittinymce-custom-styles.php:331
actionadmin_menutinymce-custom-styles.php:341
Maintenance & Trust

TinyMCE Custom Styles Maintenance & Trust

Maintenance Signals

WordPress version tested6.5.8
Last updatedJun 29, 2024
PHP min version5.6
Downloads121K

Community Trust

Rating78/100
Number of ratings15
Active installs8K
Developer Profile

TinyMCE Custom Styles Developer Profile

Tim Reeves

1 plugin · 8K total installs

73
trust score
Avg Security Score
91/100
Avg Patch Time
290 days
View full developer profile
Detection Fingerprints

How We Detect TinyMCE Custom Styles

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/tinymce-custom-styles/tinymce-custom-styles.php

HTML / DOM Fingerprints

CSS Classes
notice-successnotice-warningnotice-erroris-dismissible
HTML Comments
/* These styles are used only in the backend editor *//* Here you can override any CSS which causes layout or visibility problems in the editor, *//* and duplicate any custom CSS to make the editor display look more like the real frontend *//* If you do not need this file then upload an empty one (zero bytes) which will not be loaded at all. */+13 more
FAQ

Frequently Asked Questions about TinyMCE Custom Styles