Multi Currency Switcher Security & Risk Analysis

wordpress.org/plugins/multi-currency-switcher

Currency Switcher for WooCommerce Lite is a WooCommerce currency converter plugin that converts prices based on customers' desired currencies.

200 active installs v1.0.1 PHP 7.0+ WP 4.0+ Updated Aug 8, 2025
currencycurrency-convertercurrency-exchangecurrency-switchermulti-currency-plugin
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Multi Currency Switcher Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 8mo ago
Risk Assessment

The "multi-currency-switcher" plugin v1.0.1 exhibits a mixed security posture. It demonstrates good practices by exclusively using prepared statements for its SQL queries and having a clean vulnerability history with no known CVEs. However, a significant concern arises from the presence of two AJAX handlers that lack authentication checks. This represents a direct entry point into the plugin's functionality that could be exploited by unauthenticated users. While taint analysis shows no immediate high-risk flows, the lack of authentication on these AJAX endpoints could allow for the manipulation of sensitive plugin settings or other unintended actions.

The overall security posture is weakened by these unprotected AJAX endpoints. The plugin's attack surface includes 11 total entry points, with 2 being directly accessible without proper authorization. While the absence of dangerous functions, external HTTP requests, and file operations are positive indicators, the identified unprotected AJAX handlers present a clear and actionable risk. The plugin's vulnerability history, being entirely clear, suggests a generally stable codebase, but this should not overshadow the immediate risks posed by the current static analysis findings.

In conclusion, the plugin has strengths in its data handling (prepared statements) and a good historical security record. Nevertheless, the critical finding of unprotected AJAX handlers necessitates immediate attention. The risk is moderate due to the lack of known vulnerabilities, but the potential for exploitation of these specific entry points is real. Addressing the authentication checks on these AJAX handlers would significantly improve the plugin's security.

Key Concerns

  • Unprotected AJAX handlers detected
Vulnerabilities
None known

Multi Currency Switcher Security Vulnerabilities

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

Multi Currency Switcher Code Analysis

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

SQL Query Safety

100% prepared12 total queries

Output Escaping

79% escaped555 total outputs
Attack Surface
2 unprotected

Multi Currency Switcher Attack Surface

Entry Points11
Unprotected2

AJAX Handlers 9

authwp_ajax_wccs_add_currencyincludes\AjaxProcess.php:24
authwp_ajax_wccs_update_allincludes\AjaxProcess.php:27
authwp_ajax_wccs_update_single_rateincludes\AjaxProcess.php:30
authwp_ajax_wccs_check_currency_before_early_renewincludes\AjaxProcess.php:32
authwp_ajax_wccs_order_sync_processincludes\WCCS.php:161
authwp_ajax_wccs_update_currency_by_billing_countryincludes\WCCS.php:184
noprivwp_ajax_wccs_update_currency_by_billing_countryincludes\WCCS.php:185
authwp_ajax_wccs_currency_to_defaultincludes\WCCS.php:193
noprivwp_ajax_wccs_currency_to_defaultincludes\WCCS.php:194

Shortcodes 2

[wccs_switcher] includes\WCCS.php:125
[wccs_rates] includes\WCCS.php:128
WordPress Hooks 70
actionadmin_noticesincludes\Activator.php:47
actionwccs_update_ratesincludes\Cron.php:24
filtercron_schedulesincludes\Cron.php:27
filterwoocommerce_package_ratesincludes\Helper.php:291
actionadmin_menuincludes\Settings.php:32
actionupdate_option_wccs_update_typeincludes\Settings.php:35
actionupdate_option_wccs_update_rateincludes\Settings.php:38
actionupdate_option_woocommerce_currencyincludes\Settings.php:41
actionadmin_initincludes\Settings.php:56
actiontemplate_redirectincludes\Storage.php:28
actionadmin_enqueue_scriptsincludes\WCCS.php:64
actionwp_enqueue_scriptsincludes\WCCS.php:67
filterwoocommerce_currencyincludes\WCCS.php:70
filterwoocommerce_currency_symbolincludes\WCCS.php:73
filterwoocommerce_currency_symbolincludes\WCCS.php:76
filterwoocommerce_price_formatincludes\WCCS.php:79
filterwc_price_argsincludes\WCCS.php:82
filtertier_pricing_table/cart/product_cart_priceincludes\WCCS.php:85
filterwcsatt_single_product_subscription_option_dataincludes\WCCS.php:88
filterwoocommerce_bookings_calculated_booking_cost_success_outputincludes\WCCS.php:92
filterwoocommerce_get_price_htmlincludes\WCCS.php:93
filterwoocommerce_subscriptions_product_priceincludes\WCCS.php:96
filterwoocommerce_subscriptions_product_sign_up_feeincludes\WCCS.php:97
filterwoocommerce_product_get_priceincludes\WCCS.php:100
filterwoocommerce_product_get_sale_priceincludes\WCCS.php:101
filterwoocommerce_product_get_regular_priceincludes\WCCS.php:102
filterwoocommerce_product_variation_get_regular_priceincludes\WCCS.php:105
filterwoocommerce_product_variation_get_sale_priceincludes\WCCS.php:106
filterwoocommerce_product_variation_get_priceincludes\WCCS.php:107
filterwoocommerce_variation_prices_priceincludes\WCCS.php:110
filterwoocommerce_variation_prices_regular_priceincludes\WCCS.php:111
filterwoocommerce_variation_prices_sale_priceincludes\WCCS.php:112
filterwoocommerce_get_variation_prices_hashincludes\WCCS.php:115
actiontemplate_redirectincludes\WCCS.php:119
actionwoocommerce_cart_loaded_from_sessionincludes\WCCS.php:121
actionwidgets_initincludes\WCCS.php:131
filterwp_get_nav_menu_itemsincludes\WCCS.php:133
actionwp_enqueue_scriptsincludes\WCCS.php:136
filterwoocommerce_package_ratesincludes\WCCS.php:139
filterwoocommerce_product_addons_option_price_rawincludes\WCCS.php:142
actionwoocommerce_checkout_create_orderincludes\WCCS.php:146
actionwoocommerce_store_api_checkout_order_processedincludes\WCCS.php:150
actionwoocommerce_checkout_order_createdincludes\WCCS.php:153
actionwoocommerce_store_api_checkout_order_processedincludes\WCCS.php:156
actionwoocommerce_order_status_changedincludes\WCCS.php:159
actionwccs_order_sync_event_bulkincludes\WCCS.php:164
actionwccs_order_sync_eventincludes\WCCS.php:167
actionwoocommerce_new_orderincludes\WCCS.php:170
actionwoocommerce_after_checkout_shipping_formincludes\WCCS.php:172
actionwoocommerce_checkout_create_order_shipping_itemincludes\WCCS.php:175
actionadd_meta_boxesincludes\WCCS.php:178
filterwoocommerce_available_payment_gatewaysincludes\WCCS.php:180
actionwoocommerce_coupon_loadedincludes\WCCS.php:182
actionwp_enqueue_scriptsincludes\WCCS.php:187
actionwccs_detect_wpml_langincludes\WCCS.php:189
filterwcs_cart_totals_order_total_htmlincludes\WCCS.php:191
actioninitincludes\WCCS.php:197
actionwholesale_user_roles_add_form_fieldsincludes\WCCS.php:201
actionwholesale_user_roles_edit_form_fieldsincludes\WCCS.php:202
actionedited_wholesale_user_rolesincludes\WCCS.php:203
actioncreate_wholesale_user_rolesincludes\WCCS.php:204
filterget_post_metadataincludes\WCCS.php:208
actionwoocommerce_before_mini_cart_contentsincludes\WCCS.php:209
filterwwp_filter_wholesale_price_html_before_return_wholesale_price_onlyincludes\WCCS.php:1345
filterwoocommerce_bookings_resource_additional_cost_stringincludes\WCCS.php:1356
filterwoocommerce_deposits_fixed_deposit_amountincludes\WCCS.php:1375
actionwoocommerce_initmulti-currency-switcher.php:82
actionbefore_woocommerce_initmulti-currency-switcher.php:83
actionplugins_loadedmulti-currency-switcher.php:84
filterplugin_row_metamulti-currency-switcher.php:85

Scheduled Events 4

wccs_update_rates
wccs_update_rates
wccs_order_sync_event_bulk
wccs_order_sync_event
Maintenance & Trust

Multi Currency Switcher Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedAug 8, 2025
PHP min version7.0
Downloads1K

Community Trust

Rating0/100
Number of ratings0
Active installs200
Developer Profile

Multi Currency Switcher Developer Profile

Saad Iqbal

84 plugins · 1.4M total installs

76
trust score
Avg Security Score
96/100
Avg Patch Time
272 days
View full developer profile
Detection Fingerprints

How We Detect Multi Currency Switcher

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/multi-currency-switcher/assets/css/wccs-public.css/wp-content/plugins/multi-currency-switcher/assets/js/wccs-public.js
Script Paths
/wp-content/plugins/multi-currency-switcher/assets/js/wccs-public.js
Version Parameters
multi-currency-switcher/assets/css/wccs-public.css?ver=multi-currency-switcher/assets/js/wccs-public.js?ver=

HTML / DOM Fingerprints

CSS Classes
wccs- switcherwccs-Switcher
Data Attributes
data-currency-switcher
JS Globals
WCCS_PUBLIC_AJAX_URLwccs_public_ajax_object
FAQ

Frequently Asked Questions about Multi Currency Switcher