Product Country Restrictions for WooCommerce – Country Catalogs Security & Risk Analysis

wordpress.org/plugins/woo-country-restrictions-advanced

Restrict or hide WooCommerce products by country, create country catalogs.

300 active installs v1.15.4 PHP + WP 3.6+ Updated Jul 11, 2025
country-restrictionsgeolocalizationwoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Product Country Restrictions for WooCommerce – Country Catalogs Safe to Use in 2026?

Generally Safe

Score 100/100

Product Country Restrictions for WooCommerce – Country Catalogs 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 "woo-country-restrictions-advanced" plugin v1.15.4 presents a mixed security posture. The static analysis indicates a very limited attack surface with no direct entry points like AJAX handlers, REST API routes, or shortcodes that lack authentication or permission checks. This is a strong positive. However, the presence of the `unserialize` function is a significant concern, as it can lead to Remote Code Execution if user-controlled data is unserialized without proper sanitization. While the taint analysis shows no unsanitized flows impacting this, it's a potential latent risk. The plugin also has a moderate percentage of improperly escaped outputs and a low capability check count, suggesting some areas where data might not be sufficiently protected from output-based attacks.

The plugin's vulnerability history is exceptionally clean, with zero recorded CVEs. This suggests either excellent prior security practices, luck, or that its limited attack surface and simpler functionality have historically made it a low target for researchers. Despite the lack of historical vulnerabilities, the `unserialize` function, combined with the moderate unescaped output rate, warrants caution. The bundled Freemius library should also be monitored for known vulnerabilities.

In conclusion, the plugin's low attack surface and clean vulnerability history are significant strengths. However, the presence of `unserialize` and partially unescaped outputs are potential weaknesses that require ongoing vigilance. A robust security strategy would involve ensuring any data passed to `unserialize` is strictly validated and that output escaping is consistently applied across all dynamic content.

Key Concerns

  • Presence of dangerous function: unserialize
  • Output escaping is not fully proper (58%)
  • Bundled library (Freemius v1.0) may be outdated
Vulnerabilities
None known

Product Country Restrictions for WooCommerce – Country Catalogs Security Vulnerabilities

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

Product Country Restrictions for WooCommerce – Country Catalogs Code Analysis

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

Dangerous Functions Found

unserialize$current_attributes = unserialize($result->meta_value);modules\core\inc\globals.php:468

Bundled Libraries

Freemius1.0

SQL Query Safety

67% prepared9 total queries

Output Escaping

58% escaped24 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<globals> (modules\core\inc\globals.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Product Country Restrictions for WooCommerce – Country Catalogs Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 43
actionplugins_loadedadvanced-country-restrictions.php:98
actionbefore_woocommerce_initadvanced-country-restrictions.php:106
actionadmin_menuadvanced-country-restrictions.php:111
actionwoocommerce_settings_tabs_variations_per_country_tabadvanced-country-restrictions.php:112
filterwoocommerce_allow_marketplace_suggestionsadvanced-country-restrictions.php:114
actionwoocommerce_product_options_general_product_datainc\exclude-variable-metabox.php:4
filtershow_trialinc\freemius-init.php:45
actionwcacr_after_product_custom_fieldsinc\premium-teasers.php:4
actionwcacr_after_variation_custom_fieldsinc\premium-teasers.php:5
actionproduct_cat_add_form_fieldsinc\premium-teasers.php:16
actionproduct_cat_edit_form_fieldsinc\premium-teasers.php:58
filtervcwccr_tab_settings_filterintegrations\wp-sheet-editor.php:14
actionvg_sheet_editor/initializedintegrations\wp-sheet-editor.php:15
actionvg_sheet_editor/editor/register_columnsintegrations\wp-sheet-editor.php:19
actionvg_sheet_editor/editor_page/after_contentintegrations\wp-sheet-editor.php:20
filtervg_sheet_editor/woocommerce/teasers/allowed_columnsintegrations\wp-sheet-editor.php:21
filtervg_sheet_editor/woocommerce/teasers/allowed_variation_columnsintegrations\wp-sheet-editor.php:22
filtervg_sheet_editor/custom_columns/teaser/allow_to_lock_columnintegrations\wp-sheet-editor.php:23
filtervg_sheet_editor/factory/is_column_allowedintegrations\wp-sheet-editor.php:24
actioninitintegrations\wp-sheet-editor.php:189
actionwoocommerce_product_options_general_product_datamodules\core\backend\product-custom-fields.php:4
actionwoocommerce_process_product_metamodules\core\backend\product-custom-fields.php:47
actionupdated_post_metamodules\core\backend\product-custom-fields.php:78
actionadded_post_metamodules\core\backend\product-custom-fields.php:84
actionwoocommerce_product_after_variable_attributesmodules\core\backend\variation-custom-fields.php:4
actionwoocommerce_save_product_variationmodules\core\backend\variation-custom-fields.php:56
filterwp_get_nav_menu_itemsmodules\core\frontend\product-frontend-functions.php:4
filterwoocommerce_blocks_product_grid_item_htmlmodules\core\frontend\product-frontend-functions.php:23
filterwoocommerce_get_variation_prices_hashmodules\core\frontend\product-frontend-functions.php:41
filterwoocommerce_shortcode_products_querymodules\core\frontend\product-frontend-functions.php:54
actiontemplate_redirectmodules\core\frontend\product-frontend-functions.php:62
filterwoocommerce_show_variation_pricemodules\core\frontend\product-frontend-functions.php:76
actionwoocommerce_product_querymodules\core\frontend\product-frontend-functions.php:111
actionwoocommerce_no_products_foundmodules\core\frontend\product-frontend-functions.php:127
actionpre_get_postsmodules\core\frontend\product-frontend-functions.php:142
filterregister_post_type_argsmodules\core\frontend\product-frontend-functions.php:166
actionwoocommerce_before_single_productmodules\core\frontend\product-frontend-functions.php:185
filterwoocommerce_related_productsmodules\core\frontend\product-frontend-functions.php:206
filterwoocommerce_products_widget_query_argsmodules\core\frontend\product-frontend-functions.php:223
actionwoocommerce_checkout_create_ordermodules\core\frontend\product-frontend-functions.php:241
actionplugins_loadedmodules\core\inc\init.php:180
actionwoocommerce_initmodules\core\inc\init.php:181
filterbody_classmodules\core\inc\init.php:182
Maintenance & Trust

Product Country Restrictions for WooCommerce – Country Catalogs Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedJul 11, 2025
PHP min version
Downloads22K

Community Trust

Rating94/100
Number of ratings15
Active installs300
Developer Profile

Product Country Restrictions for WooCommerce – Country Catalogs Developer Profile

Jose Vega

20 plugins · 30K total installs

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

How We Detect Product Country Restrictions for WooCommerce – Country Catalogs

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/woo-country-restrictions-advanced/assets/css/admin.css/wp-content/plugins/woo-country-restrictions-advanced/assets/css/frontend.css/wp-content/plugins/woo-country-restrictions-advanced/assets/js/admin.js/wp-content/plugins/woo-country-restrictions-advanced/assets/js/frontend.js
Script Paths
/wp-content/plugins/woo-country-restrictions-advanced/assets/js/admin.js/wp-content/plugins/woo-country-restrictions-advanced/assets/js/frontend.js
Version Parameters
woo-country-restrictions-advanced/assets/css/admin.css?ver=woo-country-restrictions-advanced/assets/css/frontend.css?ver=woo-country-restrictions-advanced/assets/js/admin.js?ver=woo-country-restrictions-advanced/assets/js/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
wcacr-admin-settingswcacr-settings-sectionwcacr-settings-fieldwcacr-country-selectorwcacr-product-restriction-settingswcacr-global-settings
HTML Comments
<!-- Action Buttons --><!-- Country Restriction Settings --><!-- End Country Restriction Settings -->
Data Attributes
data-wcacr-product-iddata-wcacr-action
JS Globals
WCACR_TEXTDOMAINwcacr_vars
FAQ

Frequently Asked Questions about Product Country Restrictions for WooCommerce – Country Catalogs