TinyMCE Spellcheck Security & Risk Analysis

wordpress.org/plugins/tinymce-spellcheck

TinyMCE Spellcheck adds the spellcheck button back to the editor in WordPress 3.6 and up.

3K active installs v1.3 PHP + WP 3.6+ Updated Nov 28, 2017
grammarspellspellcheckerspellingwriting
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is TinyMCE Spellcheck Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 8yr ago
Risk Assessment

The tinymce-spellcheck v1.3 plugin exhibits a mixed security posture. While it demonstrates good practices in handling SQL queries with prepared statements and has no recorded vulnerabilities or CVEs, significant concerns arise from its attack surface. All three identified AJAX handlers lack authentication checks, presenting a direct pathway for unauthorized actions if these handlers can be triggered by unauthenticated users. Furthermore, the taint analysis revealed two flows with unsanitized paths, indicating a potential for injection vulnerabilities, although these were not classified as critical or high. The plugin also shows a low percentage of properly escaped output, suggesting a risk of cross-site scripting (XSS) vulnerabilities, particularly when data processed by these unsanitized paths is later displayed.

The complete absence of known vulnerabilities is a strong positive, implying a history of relatively secure development or effective patching. However, this cannot entirely mitigate the risks identified in the static analysis. The critical weaknesses lie in the unprotected entry points and the unsanitized data flows. These could be exploited to execute arbitrary code, manipulate data, or compromise user sessions. Therefore, while the plugin has a clean vulnerability history, the current code analysis highlights areas requiring immediate attention to prevent potential security incidents.

Key Concerns

  • Unprotected AJAX handlers
  • Flows with unsanitized paths
  • Low percentage of properly escaped output
  • Bundled outdated library (TinyMCE v1.0)
Vulnerabilities
None known

TinyMCE Spellcheck Security Vulnerabilities

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

TinyMCE Spellcheck Code Analysis

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

Bundled Libraries

TinyMCE1.0

Output Escaping

20% escaped15 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

3 flows2 with unsanitized paths
TSpell_redirect_call (includes\proxy.php:41)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
3 unprotected

TinyMCE Spellcheck Attack Surface

Entry Points3
Unprotected3

AJAX Handlers 3

authwp_ajax_proxy_atdtinymce-spellcheck.php:266
authwp_ajax_atd_ignoretinymce-spellcheck.php:267
authwp_ajax_atd_settingstinymce-spellcheck.php:268
WordPress Hooks 13
actionadmin_print_scriptsincludes\atd-l10n.php:40
filtermce_external_pluginstinymce-spellcheck.php:76
filtermce_buttonstinymce-spellcheck.php:77
actionpersonal_options_updatetinymce-spellcheck.php:80
actionpersonal_options_updatetinymce-spellcheck.php:81
actionprofile_personal_optionstinymce-spellcheck.php:82
filterwp_fullscreen_buttonstinymce-spellcheck.php:248
filtertiny_mce_before_inittinymce-spellcheck.php:255
actionadmin_print_scriptstinymce-spellcheck.php:258
actionadmin_print_scriptstinymce-spellcheck.php:259
actionadmin_print_stylestinymce-spellcheck.php:260
actioninittinymce-spellcheck.php:263
actionplugins_loadedtinymce-spellcheck.php:274
Maintenance & Trust

TinyMCE Spellcheck Maintenance & Trust

Maintenance Signals

WordPress version tested4.0.38
Last updatedNov 28, 2017
PHP min version
Downloads52K

Community Trust

Rating76/100
Number of ratings12
Active installs3K
Developer Profile

TinyMCE Spellcheck Developer Profile

Matthew Muro

4 plugins · 23K total installs

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

How We Detect TinyMCE Spellcheck

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/tinymce-spellcheck/js/atd.core.js/wp-content/plugins/tinymce-spellcheck/js/atd-nonvis-editor-plugin.js/wp-content/plugins/tinymce-spellcheck/js/jquery.atd.js/wp-content/plugins/tinymce-spellcheck/js/atd-autoproofread.js/wp-content/plugins/tinymce-spellcheck/css/atd.css
Script Paths
/wp-content/plugins/tinymce-spellcheck/tinymce/plugin.js/wp-content/plugins/tinymce-spellcheck/tinymce/editor_plugin.js
Version Parameters
tinymce-spellcheck/js/atd.core.js?ver=tinymce-spellcheck/js/atd-nonvis-editor-plugin.js?ver=tinymce-spellcheck/js/jquery.atd.js?ver=tinymce-spellcheck/js/atd-autoproofread.js?ver=tinymce-spellcheck/css/atd.css?ver=

HTML / DOM Fingerprints

HTML Comments
<!-- kill the spellchecker.. don't need no steenkin PHP spell checker --><!-- hrm... ok add us last plz --><!-- Spits out user options for auto-proofreading on publish/update --><!-- Helper used to check if javascript should be added to page. Helps avoid bloat in admin -->
Data Attributes
data-atd-autoproofread
JS Globals
AtD.rpcAtD.api_keyAtD.setIgnoreStringsAtD.showTypesAtD.rpc_ignoreTSpell_check_when
REST Endpoints
/wp-json/tinymce-spellcheck/v1/settings
FAQ

Frequently Asked Questions about TinyMCE Spellcheck