WCM User Language Switcher Security & Risk Analysis

wordpress.org/plugins/wcm-user-language-switcher

Adds a button to the admin toolbar. This buttons allows users to seamlessly switch between available languages.

100 active installs v1.8.1 PHP + WP 3.6.1+ Updated Jul 11, 2020
languagelocalisationswitcher
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WCM User Language Switcher Safe to Use in 2026?

Generally Safe

Score 85/100

WCM User Language Switcher has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 5yr ago
Risk Assessment

The wcm-user-language-switcher v1.8.1 plugin exhibits a strong security posture in several key areas, particularly regarding its limited attack surface and secure database interactions. The absence of AJAX handlers, REST API routes, shortcodes, and cron events significantly reduces the plugin's exposure to external attacks. Furthermore, all identified SQL queries utilize prepared statements, a best practice that effectively mitigates SQL injection vulnerabilities. The plugin also demonstrates some level of input validation through capability checks. However, there are notable areas for improvement. The lack of output escaping on all identified output points is a significant concern, potentially exposing the site to Cross-Site Scripting (XSS) attacks. The presence of file operations and external HTTP requests, while not inherently risky, warrant careful review to ensure these actions are properly secured and validated against malicious input.

The plugin's vulnerability history is exceptionally clean, with no recorded CVEs. This indicates a history of responsible development and maintenance, or a lack of significant past issues being publicly disclosed. While this is a positive sign, it does not negate the risks identified in the static analysis. The complete absence of taint analysis flows could be due to the limited entry points or a testament to the sanitization of any potential internal data flows. In conclusion, the plugin has a solid foundation in terms of attack surface and database security. The primary risk lies in the unescaped output, which demands immediate attention to prevent potential XSS vulnerabilities. The other identified code signals, like file operations and HTTP requests, should be investigated for proper security implementation.

Key Concerns

  • Unescaped output detected
  • File operations detected
  • External HTTP requests detected
  • No nonce checks on AJAX
  • No capability checks on AJAX
Vulnerabilities
None known

WCM User Language Switcher Security Vulnerabilities

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

WCM User Language Switcher Code Analysis

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

Output Escaping

0% escaped3 total outputs
Attack Surface

WCM User Language Switcher Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 5
actionplugins_loadedwcm_lang_switch.class.php:36
actionlocalewcm_lang_switch.class.php:87
filterlocalewcm_lang_switch.class.php:90
actionadmin_bar_menuwcm_lang_switch.class.php:91
actionwp_dashboard_setupwcm_lang_switch.class.php:93
Maintenance & Trust

WCM User Language Switcher Maintenance & Trust

Maintenance Signals

WordPress version tested4.1.42
Last updatedJul 11, 2020
PHP min version
Downloads14K

Community Trust

Rating100/100
Number of ratings8
Active installs100
Developer Profile

WCM User Language Switcher Developer Profile

Stephen Harris

2 plugins · 500 total installs

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

How We Detect WCM User Language Switcher

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wcm-user-language-switcher/style.css/wp-content/plugins/wcm-user-language-switcher/admin.css/wp-content/plugins/wcm-user-language-switcher/admin.js
Script Paths
/wp-content/plugins/wcm-user-language-switcher/admin.js
Version Parameters
wcm-user-language-switcher/style.css?ver=wcm-user-language-switcher/admin.css?ver=wcm-user-language-switcher/admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
wcm_user_lang_item
JS Globals
wcm_user_lang
FAQ

Frequently Asked Questions about WCM User Language Switcher