
Loco Translate Security & Risk Analysis
wordpress.org/plugins/loco-translateTranslate WordPress plugins and themes directly in your browser. Versatile PO file editor with integrated AI translation providers.
Is Loco Translate Safe to Use in 2026?
Generally Safe
Score 95/100Loco Translate has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.
The static analysis of Loco Translate v2.8.3 reveals a generally strong security posture regarding its direct attack surface. There are no exposed AJAX handlers, REST API routes, shortcodes, or cron events that lack authentication or permission checks, indicating a well-secured entry point. The use of prepared statements for all SQL queries is excellent, and there are a good number of capability checks and nonces implemented. However, a significant concern arises from the output escaping. With only 45% of outputs properly escaped, this leaves a substantial portion vulnerable to Cross-Site Scripting (XSS) attacks. Furthermore, the taint analysis shows two flows with unsanitized paths, which, while not classified as critical or high severity in this specific analysis, represent a potential risk for code injection or path traversal vulnerabilities if exploited in conjunction with other weaknesses.
The vulnerability history is a mixed bag. While there are no currently unpatched CVEs, the plugin has a history of three medium-severity vulnerabilities, including Cross-Site Request Forgery (CSRF), Cross-Site Scripting (XSS), and Code Injection. The fact that the last vulnerability was so recent (June 2024) and that these common types have appeared before suggests that while fixes are implemented, recurring patterns of insecure coding practices might exist. This history, combined with the identified output escaping issues, indicates a need for continued vigilance and thorough security reviews to prevent future exploitable weaknesses. The plugin demonstrates strengths in access control and database interaction but shows weaknesses in output sanitization and a history that warrants attention.
Key Concerns
- Output escaping: 45% properly escaped
- Taint analysis: unsanitized paths found
- Vulnerability history: 3 medium CVEs
Loco Translate Security Vulnerabilities
CVEs by Year
Severity Breakdown
5 total CVEs
Loco Translate <= 2.8.2 - Authenticated (Translator+) Path Traversal to Limited File Read via 'ref' Parameter
Loco Translate <= 2.8.2 - Reflected Cross-Site Scripting via 'update_href' Parameter
Loco Translate <= 2.6.9 - Cross-Site Request Forgery
Loco Translate <= 2.6.0 - Authenticated Stored Cross-Site Scripting
Loco Translate <= 2.5.3 - Authenticated PHP Code Injection
Loco Translate Release Timeline
Loco Translate Code Analysis
SQL Query Safety
Output Escaping
Data Flow Analysis
Loco Translate Attack Surface
WordPress Hooks 2
Maintenance & Trust
Loco Translate Maintenance & Trust
Maintenance Signals
Community Trust
Loco Translate Alternatives
Frenglish Translations
frenglish-translations
Frenglish is a translation plugin that enables multilingual content on your WordPress site with an easy-to-use interface.
WPBakery Visual Composer & qTranslate-X
js-composer-qtranslate-x
Enables multilingual framework for plugin "WPBakery Visual Composer".
Events Made Easy & qTranslate-X
events-made-easy-qtranslate-x
Enables multilingual framework for plugin "Events Made Easy".
Bunny’s Language Linker
bunnys-language-linker
Helps you create links between equivalent (but different language) pages between WordPress installations.
ICanLocalize Translator
icanlocalize-translator
Allows running multilingual WordPress sites with zero management. Automatically creates and updates translation when you edit.
Loco Translate Developer Profile
1 plugin · 1.0M total installs
How We Detect Loco Translate
Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.
Asset Fingerprints
/wp-content/plugins/loco-translate/admin/css/common.css/wp-content/plugins/loco-translate/admin/css/common.min.css/wp-content/plugins/loco-translate/admin/css/legacy.css/wp-content/plugins/loco-translate/admin/css/legacy.min.css/wp-content/plugins/loco-translate/admin/css/skins/classic.css/wp-content/plugins/loco-translate/admin/css/skins/fresh.css/wp-content/plugins/loco-translate/admin/css/skins/contrast.css/wp-content/plugins/loco-translate/admin/css/skins/coffee.css+11 more/wp-content/plugins/loco-translate/admin/js/common.min.js/wp-content/plugins/loco-translate/admin/js/admin.min.js/wp-content/plugins/loco-translate/admin/js/legacy.min.js/wp-content/plugins/loco-translate/admin/js/bundle.min.jsloco-translate/admin/css/common.css?ver=loco-translate/admin/js/common.js?ver=loco-translate/admin/js/admin.js?ver=loco-translate/admin/js/legacy.js?ver=loco-translate/admin/js/bundle.js?ver=HTML / DOM Fingerprints
loco-php-versionloco-theme-slugloco-theme-pathloco-theme-versionloco-plugin-slugloco-plugin-pathloco-plugin-versionloco-locale-code+20 more<!-- Generated by Loco --><!-- Generated by Loco Translate -->data-loco-controllerdata-loco-actiondata-loco-templatedata-loco-iddata-loco-argsdata-loco-title+37 morewindow.loco = {}loco.controllerloco.actionloco.localeloco.tokenloco.nonce+5 more/wp-json/loco/v1/themes/wp-json/loco/v1/themes/(?P<slug>[\w-]+)/wp-json/loco/v1/plugins/wp-json/loco/v1/plugins/(?P<slug>[\w-]+)/wp-json/loco/v1/locales/wp-json/loco/v1/locales/(?P<locale>[\w-]+)/wp-json/loco/v1/compile/wp-json/loco/v1/sync