Theme Editor Security & Risk Analysis

wordpress.org/plugins/theme-editor

Theme Editor allows you to edit theme files, create folder, upload files and remove any file and folder in themes and plugins.

50K active installs v3.2 PHP 5.2.4+ WP 3.4+ Updated Mar 19, 2026
editorfilethemetheme-editorwp
64
C · Use Caution
CVEs total6
Unpatched1
Last CVEFeb 14, 2026
Safety Verdict

Is Theme Editor Safe to Use in 2026?

Use With Caution

Score 64/100

Theme Editor has 1 unpatched vulnerability. Evaluate alternatives or apply available mitigations.

6 known CVEs 1 unpatched Last CVE: Feb 14, 2026Updated 2mo ago
Risk Assessment

The 'theme-editor' plugin v3.1 presents a mixed security posture. While it demonstrates strengths in areas like using prepared statements for SQL queries and performing a significant number of capability checks, several critical concerns emerge from the static analysis. The presence of 5 unprotected AJAX handlers significantly expands the attack surface, creating potential entry points for unauthorized actions. Furthermore, the taint analysis reveals 4 flows with unsanitized paths, indicating a risk of path traversal vulnerabilities that could lead to unintended file access or modification.

The plugin's vulnerability history is a significant red flag. With 5 known CVEs, including 4 high-severity and 1 medium-severity, and common vulnerability types like CSRF, deserialization, unrestricted uploads, and path traversal, the historical pattern suggests recurring weaknesses in input validation and access control. The fact that all previous CVEs are now patched is positive, but the frequency and nature of past issues indicate a persistent need for vigilance and robust security practices. The recent vulnerability in October 2025, although patched, reinforces this concern.

In conclusion, while the plugin has some positive security attributes, the unprotected AJAX handlers, unsanitized path flows, and a history of high-severity vulnerabilities necessitate careful consideration. The attack surface is somewhat exposed, and past issues highlight potential areas for exploitation if similar coding errors are reintroduced. Continuous monitoring and thorough code reviews are essential for this plugin.

Key Concerns

  • Unprotected AJAX handlers (5)
  • Flows with unsanitized paths (4)
  • High severity CVEs in history (4)
  • Medium severity CVEs in history (1)
  • Low output escaping (36%)
Vulnerabilities
6 published

Theme Editor Security Vulnerabilities

CVEs by Year

1 CVE in 2019
2019
1 CVE in 2021
2021
1 CVE in 2023
2023
1 CVE in 2024
2024
1 CVE in 2025
2025
1 CVE in 2026 · unpatched
2026
Patched Has unpatched

Severity Breakdown

High
4
Medium
2

6 total CVEs

CVE-2026-39640medium · 4.3Cross-Site Request Forgery (CSRF)

Theme Editor <= 3.2 - Cross-Site Request Forgery

Feb 14, 2026Unpatched
CVE-2025-9890high · 8.8Cross-Site Request Forgery (CSRF)

Theme Editor <= 3.0 - Cross-Site Request Forgery to Remote Code Execution

Oct 17, 2025 Patched in 3.1 (1d)
CVE-2022-2440high · 7.2Deserialization of Untrusted Data

Theme Editor <= 2.8 - Authenticated (Admin+) PHAR Deserialization

Aug 28, 2024 Patched in 2.9 (1d)
CVE-2023-6091high · 7.2Unrestricted Upload of File with Dangerous Type

Theme Editor <= 2.7.1 - Authenticated (Administrator+) Arbitrary File Upload

Nov 20, 2023 Patched in 2.8 (64d)
CVE-2021-24154medium · 4.9Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Theme Editor <= 2.5 - Authenticated Arbitrary File Download

Feb 13, 2021 Patched in 2.6 (1074d)
WF-98286172-99b0-43d6-9876-972e270aa19f-theme-editorhigh · 8.8Cross-Site Request Forgery (CSRF)

Theme Editor <= 2.1 - Cross-Site Request Forgery

Sep 30, 2019 Patched in 2.2 (1576d)
Version History

Theme Editor Release Timeline

No version history available.
Code Analysis
Analyzed Mar 16, 2026

Theme Editor Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
194
111 escaped
Nonce Checks
21
Capability Checks
30
File Operations
52
External Requests
2
Bundled Libraries
0

Output Escaping

36% escaped305 total outputs
Data Flows · Security
4 unsanitized

Data Flow Analysis

20 flows4 with unsanitized paths
te_get_theme_data (app\controller\theme_controller.php:19)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
5 unprotected

Theme Editor Attack Surface

Entry Points13
Unprotected5

AJAX Handlers 13

authwp_ajax_mk_te_close_te_helpapp\controller\controller.php:34
authwp_ajax_mk_theme_editor_verify_emailapp\model\model.php:29
authwp_ajax_verify_theme_editor_emailapp\model\model.php:30
authwp_ajax_ms_updateincludes\classes\ms_theme_editor_controller.php:13
authwp_ajax_ms_queryincludes\classes\ms_theme_editor_controller.php:14
authwp_ajax_ms_theme_summaryincludes\classes\ms_theme_editor_controller.php:15
authwp_ajax_mk_theme_editor_file_movems_child_theme_editor.php:271
authwp_ajax_mk_theme_editor_child_file_deletems_child_theme_editor.php:337
authwp_ajax_webphoto_uploadms_child_theme_editor.php:366
authwp_ajax_screenshot_uploadms_child_theme_editor.php:429
authwp_ajax_mk_theme_editor_delete_imagesms_child_theme_editor.php:495
authwp_ajax_ms_new_directoryms_child_theme_editor.php:527
authwp_ajax_ms_new_filems_child_theme_editor.php:560
WordPress Hooks 41
actionadmin_menuapp\controller\controller.php:12
actionadmin_menuapp\controller\controller.php:15
actionadmin_menuapp\controller\controller.php:19
action_admin_menuapp\controller\controller.php:21
actionadmin_post_mk_theme_editor_export_te_filesapp\controller\controller.php:22
actionadmin_post_mk_theme_editor_download_te_themeapp\controller\controller.php:23
actionadmin_post_mk_theme_editor_download_te_pluginapp\controller\controller.php:24
actionadmin_initapp\controller\controller.php:25
actionadmin_menuapp\controller\controller.php:26
actionchld_thm_cfg_admin_noticesincludes\classes\ms_theme_editor_admin.php:157
actionchld_thm_cfg_admin_noticesincludes\classes\ms_theme_editor_admin.php:167
actionchld_thm_cfg_admin_noticesincludes\classes\ms_theme_editor_admin.php:172
actionchld_thm_cfg_cache_updatesincludes\classes\ms_theme_editor_admin.php:183
actionchld_thm_cfg_cache_updatesincludes\classes\ms_theme_editor_admin.php:215
actionchld_thm_cfg_parse_stylesheetsincludes\classes\ms_theme_editor_admin.php:390
actionchld_thm_cfg_parse_stylesheetsincludes\classes\ms_theme_editor_admin.php:424
actionchld_thm_cfg_addl_optionsincludes\classes\ms_theme_editor_admin.php:428
actionchld_thm_cfg_parse_stylesheetsincludes\classes\ms_theme_editor_admin.php:431
actionchld_thm_cfg_parse_stylesheetsincludes\classes\ms_theme_editor_admin.php:435
actionchld_thm_cfg_parse_stylesheetsincludes\classes\ms_theme_editor_admin.php:437
actionchld_thm_cfg_parse_stylesheetsincludes\classes\ms_theme_editor_admin.php:440
actionchld_thm_cfg_parse_stylesheetsincludes\classes\ms_theme_editor_admin.php:443
actionchld_thm_cfg_addl_filesincludes\classes\ms_theme_editor_admin.php:448
actionchld_thm_cfg_addl_filesincludes\classes\ms_theme_editor_admin.php:449
actionchld_thm_cfg_addl_filesincludes\classes\ms_theme_editor_admin.php:450
actionchld_thm_cfg_addl_filesincludes\classes\ms_theme_editor_admin.php:452
actionadmin_menuincludes\classes\ms_theme_editor_controller.php:12
actionchld_thm_cfg_addl_filesincludes\classes\ms_theme_editor_css.php:954
actionadmin_enqueue_scriptsincludes\classes\ms_theme_editor_ui.php:12
actionall_admin_noticesincludes\classes\ms_theme_editor_ui.php:13
actionplugins_loadedms_child_theme_editor.php:42
actionsetup_themems_child_theme_editor.php:48
filterwp_redirect_statusms_child_theme_editor.php:49
filtertemplatems_child_theme_editor.php:68
filterstylesheetms_child_theme_editor.php:69
filterpre_option_stylesheetms_child_theme_editor.php:70
filterpre_option_templatems_child_theme_editor.php:71
actionwp_print_stylesms_child_theme_editor.php:74
actionwp_footerms_child_theme_editor.php:75
filterstyle_loader_srcms_child_theme_editor.php:260
actioninittheme_editor.php:36
Maintenance & Trust

Theme Editor Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 19, 2026
PHP min version5.2.4
Downloads897K

Community Trust

Rating92/100
Number of ratings127
Active installs50K
Developer Profile

Theme Editor Developer Profile

mndpsingh287

8 plugins · 4.1M total installs

64
trust score
Avg Security Score
79/100
Avg Patch Time
1115 days
View full developer profile
Detection Fingerprints

How We Detect Theme Editor

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/theme-editor/app/view/images/te.svg

HTML / DOM Fingerprints

CSS Classes
mk-te-file-contentmk-te-file-namemk-te-file-savemk-te-file-deletemk-te-file-renamemk-te-file-downloadmk-te-new-filemk-te-new-folder+1 more
HTML Comments
<!-- Theme Editor Settings Page --><!-- Theme Editor Permissions Page --><!-- Theme Editor Notify Page --><!-- Theme Editor Main Page -->+1 more
Data Attributes
data-plugin-slugdata-file-namedata-file-typedata-theme-slugdata-theme-name
JS Globals
mk_te_file_manager
FAQ

Frequently Asked Questions about Theme Editor