Currency Switcher for WooCommerce Security & Risk Analysis

wordpress.org/plugins/currency-switcher-woocommerce

Currency Switcher for WooCommerce.

10K active installs v2.16.6 PHP + WP 4.4+ Updated Mar 16, 2026
currencycurrency-switchermulti-currencymulticurrencyswitcher
99
A · Safe
CVEs total2
Unpatched0
Last CVEFeb 28, 2025
Safety Verdict

Is Currency Switcher for WooCommerce Safe to Use in 2026?

Generally Safe

Score 99/100

Currency Switcher for WooCommerce has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

2 known CVEsLast CVE: Feb 28, 2025Updated 2mo ago
Risk Assessment

The "currency-switcher-woocommerce" plugin v2.16.6 exhibits a generally good security posture with several positive indicators. The absence of unpatched CVEs, zero critical or high severity vulnerabilities historically, and a strong presence of nonce and some capability checks suggest a development team that is responsive to security issues. The static analysis reveals a modest attack surface primarily consisting of shortcodes, with no identified unprotected entry points. However, there are some areas for concern. The taint analysis indicates three flows with unsanitized paths, which, while not classified as critical or high severity in this analysis, represent a potential for vulnerabilities. Furthermore, the plugin's SQL queries are not fully prepared, with 67% not using prepared statements, which can be a vector for SQL injection if not handled with extreme care in other layers. The historical vulnerability types, including Cross-Site Scripting and Missing Authorization, combined with the identified unsanitized paths, warrant careful attention, even though past issues are patched.

Despite the positive aspects like no current unpatched vulnerabilities and limited overall attack surface, the presence of unsanitized taint flows and a significant proportion of non-prepared SQL statements represent tangible risks. The historical pattern of XSS and authorization issues, even if resolved, highlights areas where the plugin has previously had weaknesses. The plugin's ability to properly escape output is decent, but not perfect. Overall, the plugin is reasonably secure, but the identified code signals and taint analysis suggest that further scrutiny and potential remediation on SQL handling and unsanitized paths would significantly improve its security. The lack of explicit capability checks on most entry points is also a point of concern, relying more on nonce checks for protection.

Key Concerns

  • Taint flows with unsanitized paths detected
  • SQL queries not fully using prepared statements
  • Output escaping not fully implemented
  • Lack of capability checks on entry points
Vulnerabilities
2 published

Currency Switcher for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2019
2019
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

CVE-2024-9217medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Currency Switcher for WooCommerce <= 2.16.2 - Reflected Cross-Site Scripting

Feb 28, 2025 Patched in 2.16.3 (10d)
CVE-2019-18668medium · 6.5Missing Authorization

Currency Switcher <= 2.11.1 - Authorization Bypass

Nov 2, 2019 Patched in 2.11.2 (1543d)
Version History

Currency Switcher for WooCommerce Release Timeline

v2.16.6Current
v2.16.5
v2.16.4
v2.16.3
v2.16.21 CVE
v2.16.11 CVE
v2.16.01 CVE
v2.15.21 CVE
v2.15.11 CVE
v2.15.01 CVE
v2.14.01 CVE
v2.13.01 CVE
v2.12.41 CVE
v2.12.31 CVE
v2.12.21 CVE
v2.12.11 CVE
v2.12.01 CVE
v2.11.51 CVE
v2.11.41 CVE
v2.11.31 CVE
Code Analysis
Analyzed Mar 16, 2026

Currency Switcher for WooCommerce Code Analysis

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

SQL Query Safety

33% prepared3 total queries

Output Escaping

74% escaped147 total outputs
Data Flows · Security
3 unsanitized

Data Flow Analysis

4 flows3 with unsanitized paths
get_exchange_rate_ajax (includes\admin\settings\class-alg-wc-currency-switcher-settings-exchange-rates.php:43)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Currency Switcher for WooCommerce Attack Surface

Entry Points8
Unprotected0

Shortcodes 8

[woocommerce_currency_switcher_current_currency_code] includes\functions\alg-switcher-functions.php:103
[woocommerce_currency_switcher_current_currency_symbol] includes\functions\alg-switcher-functions.php:116
[woocommerce_currency_switcher_product_price_table] includes\functions\alg-switcher-functions.php:602
[woocommerce_currency_switcher_convert_price] includes\functions\alg-switcher-functions.php:682
[woocommerce_currency_switcher] includes\functions\alg-switcher-selector-functions.php:179
[woocommerce_currency_switcher_drop_down_box] includes\functions\alg-switcher-selector-functions.php:180
[woocommerce_currency_switcher_radio_list] includes\functions\alg-switcher-selector-functions.php:181
[woocommerce_currency_switcher_link_list] includes\functions\alg-switcher-selector-functions.php:182
WordPress Hooks 65
actionbefore_woocommerce_initcurrency-switcher-woocommerce.php:46
actioninitcurrency-switcher-woocommerce.php:111
actionwc_after_products_ending_salescurrency-switcher-woocommerce.php:130
actionwoocommerce_system_status_reportcurrency-switcher-woocommerce.php:131
filterwoocommerce_get_settings_pagescurrency-switcher-woocommerce.php:133
filterwoocommerce_reports_get_order_report_queryincludes\admin\class-alg-currency-reports.php:29
filterwoocommerce_currencyincludes\admin\class-alg-currency-reports.php:35
actionadmin_bar_menuincludes\admin\class-alg-currency-reports.php:43
filterwoocommerce_analytics_clauses_joinincludes\admin\class-alg-currency-reports.php:73
filterwoocommerce_analytics_clauses_whereincludes\admin\class-alg-currency-reports.php:79
filterwoocommerce_analytics_clauses_selectincludes\admin\class-alg-currency-reports.php:85
actionadmin_enqueue_scriptsincludes\admin\class-alg-currency-reports.php:95
actionadd_meta_boxesincludes\admin\class-alg-wc-currency-switcher-coupons.php:23
actionsave_post_shop_couponincludes\admin\class-alg-wc-currency-switcher-coupons.php:24
actionadd_meta_boxesincludes\admin\class-alg-wc-currency-switcher-per-product.php:26
actionsave_post_productincludes\admin\class-alg-wc-currency-switcher-per-product.php:27
actionadmin_initincludes\admin\settings\class-alg-wc-currency-switcher-settings-countries.php:30
actionwoocommerce_admin_field_alg_custom_numberincludes\admin\settings\class-alg-wc-currency-switcher-settings-currencies.php:30
actionadmin_initincludes\admin\settings\class-alg-wc-currency-switcher-settings-currencies.php:31
actionwoocommerce_admin_field_alg_exchange_rateincludes\admin\settings\class-alg-wc-currency-switcher-settings-exchange-rates.php:30
actionadmin_enqueue_scriptsincludes\admin\settings\class-alg-wc-currency-switcher-settings-exchange-rates.php:31
actionadmin_initincludes\admin\settings\class-alg-wc-currency-switcher-settings-exchange-rates.php:34
actionwoocommerce_admin_field_alg_wselectincludes\admin\settings\class-alg-wc-currency-switcher-settings-flags.php:30
filterwoocommerce_admin_settings_sanitize_optionincludes\admin\settings\class-alg-wc-currency-switcher-settings-general.php:30
actionadmin_initincludes\admin\settings\class-alg-wc-currency-switcher-settings-languages.php:30
filterwoocommerce_get_sections_alg_wc_currency_switcherincludes\admin\settings\class-alg-wc-currency-switcher-settings-section.php:24
actionwoocommerce_admin_field_alg_titleincludes\admin\settings\class-wc-settings-currency-switcher.php:26
actionalg_update_exchange_rates_hookincludes\class-alg-exchange-rates-crons.php:37
filtercron_schedulesincludes\class-alg-exchange-rates-crons.php:38
actionwp_footerincludes\class-alg-switcher-third-party-compatibility.php:43
actionwp_footerincludes\class-alg-switcher-third-party-compatibility.php:44
actioninitincludes\class-alg-switcher-third-party-compatibility.php:45
filterposts_clausesincludes\class-alg-switcher-third-party-compatibility.php:46
filterget_product_addonsincludes\class-alg-switcher-third-party-compatibility.php:54
filterwoocommerce_get_item_dataincludes\class-alg-switcher-third-party-compatibility.php:55
filterppom_option_priceincludes\class-alg-switcher-third-party-compatibility.php:61
filterppom_cart_line_totalincludes\class-alg-switcher-third-party-compatibility.php:62
filterppom_cart_fixed_feeincludes\class-alg-switcher-third-party-compatibility.php:63
filterppom_add_cart_item_dataincludes\class-alg-switcher-third-party-compatibility.php:64
filterppom_product_priceincludes\class-alg-switcher-third-party-compatibility.php:65
filterwoocommerce_get_cart_item_from_sessionincludes\class-alg-switcher-third-party-compatibility.php:66
filterposts_clausesincludes\class-alg-switcher-third-party-compatibility.php:401
filterwoocommerce_cart_shipping_packagesincludes\class-alg-wc-currency-switcher.php:126
actionwp_footerincludes\class-alg-wc-currency-switcher.php:127
actionwp_loadedincludes\class-alg-wc-currency-switcher.php:140
actionadd_meta_boxesincludes\class-alg-wc-currency-switcher.php:144
actionwoocommerce_process_shop_order_metaincludes\class-alg-wc-currency-switcher.php:145
filterwoocommerce_currencyincludes\class-alg-wc-currency-switcher.php:167
filterwc_price_argsincludes\class-alg-wc-currency-switcher.php:169
filterwoocommerce_currency_symbolincludes\class-alg-wc-currency-switcher.php:170
filterwoocommerce_coupon_get_amountincludes\class-alg-wc-currency-switcher.php:175
filterwoocommerce_coupon_get_maximum_amountincludes\class-alg-wc-currency-switcher.php:176
filterwoocommerce_coupon_get_minimum_amountincludes\class-alg-wc-currency-switcher.php:177
filterwoocommerce_coupon_get_discount_amountincludes\class-alg-wc-currency-switcher.php:179
filterwoocommerce_package_ratesincludes\class-alg-wc-currency-switcher.php:184
actionwoocommerce_load_shipping_methodsincludes\class-alg-wc-currency-switcher.php:188
actionwoocommerce_cart_calculate_feesincludes\class-alg-wc-currency-switcher.php:192
filterwoocommerce_get_variation_prices_hashincludes\class-alg-wc-currency-switcher.php:195
actionwoocommerce_single_product_summaryincludes\class-alg-wc-currency-switcher.php:202
actionwoocommerce_single_product_summaryincludes\class-alg-wc-currency-switcher.php:205
actionwoocommerce_single_product_summaryincludes\class-alg-wc-currency-switcher.php:208
actionwp_headincludes\class-alg-wc-currency-switcher.php:215
actionwp_enqueue_scriptsincludes\class-alg-wc-currency-switcher.php:220
actionadmin_enqueue_scriptsincludes\class-alg-wc-currency-switcher.php:227
actionwidgets_initincludes\class-alg-widget-currency-switcher.php:125
Maintenance & Trust

Currency Switcher for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 16, 2026
PHP min version
Downloads335K

Community Trust

Rating84/100
Number of ratings43
Active installs10K
Developer Profile

Currency Switcher for WooCommerce Developer Profile

WP Wham

9 plugins · 37K total installs

78
trust score
Avg Security Score
98/100
Avg Patch Time
297 days
View full developer profile
Detection Fingerprints

How We Detect Currency Switcher for WooCommerce

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/currency-switcher-woocommerce/assets/css/alg-wc-currency-switcher.css/wp-content/plugins/currency-switcher-woocommerce/assets/js/alg-wc-currency-switcher.js/wp-content/plugins/currency-switcher-woocommerce/assets/js/alg-wc-currency-switcher-frontend.js
Script Paths
/wp-content/plugins/currency-switcher-woocommerce/assets/js/alg-wc-currency-switcher.js/wp-content/plugins/currency-switcher-woocommerce/assets/js/alg-wc-currency-switcher-frontend.js
Version Parameters
currency-switcher-woocommerce/assets/css/alg-wc-currency-switcher.css?ver=currency-switcher-woocommerce/assets/js/alg-wc-currency-switcher.js?ver=currency-switcher-woocommerce/assets/js/alg-wc-currency-switcher-frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
alg-currency-switcher-wrapalg-currency-switcher-selectoralg-currency-switcher-currency-flagalg-currency-switcher-currency-code
HTML Comments
<!-- currency switcher --><!-- currency switcher selector -->
Data Attributes
data-currency-switcher-widgetdata-currency-codedata-currency-symbol
JS Globals
alg_currency_switcher_frontend_params
Shortcode Output
[alg_currency_switcher][currency_switcher][alg_currency_switcher_countries_flags]
FAQ

Frequently Asked Questions about Currency Switcher for WooCommerce