Weight Based Shipping for WooCommerce Security & Risk Analysis

wordpress.org/plugins/weight-based-shipping-for-woocommerce

Weight Based Shipping is a flexible and widely-used solution to calculate shipping costs based on the total cart weight and value.

60K active installs v6.15.1 PHP 7.3+ WP 5.8+ Updated Mar 24, 2026
rule-based-shippingtable-rate-shippingweight-based-shippingwoocommerce-free-shippingwoocommerce-shipping
100
A · Safe
CVEs total1
Unpatched0
Last CVEMar 13, 2023
Safety Verdict

Is Weight Based Shipping for WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

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

1 known CVELast CVE: Mar 13, 2023Updated 1mo ago
Risk Assessment

The 'weight-based-shipping-for-woocommerce' plugin version 6.15.0 presents a mixed security posture. On the positive side, the static analysis reveals a commendably small attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events. Furthermore, all identified SQL queries utilize prepared statements, and the majority of output is properly escaped, indicating good development practices in these areas. The absence of file operations and external HTTP requests also contributes to a more secure profile.

However, several concerns warrant attention. The presence of five instances of the 'assert' function, a dangerous function that can be abused for arbitrary code execution if not handled with extreme care, is a significant red flag. While the static analysis did not identify any taint flows or direct vulnerabilities in this version, the historical data shows one known CVE, a medium severity Cross-Site Request Forgery (CSRF) vulnerability patched in March 2023. This history, coupled with the absence of nonce and capability checks in the code analysis, suggests a potential for security weaknesses in how user actions are validated and authorized.

Overall, the plugin has a seemingly robust implementation in terms of common web attack vectors like SQL injection and XSS, and a small attack surface. Yet, the use of 'assert' and the lack of explicit nonce/capability checks for certain operations, combined with past CSRF vulnerabilities, suggest that while the current version might be secure, vigilance is required. Future updates should ensure these areas are thoroughly reviewed and protected.

Key Concerns

  • Dangerous function found (assert)
  • No nonce checks found
  • No capability checks found
  • One medium severity CVE historically
Vulnerabilities
1 published

Weight Based Shipping for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2023
2023
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2022-46794medium · 5.4Cross-Site Request Forgery (CSRF)

WooCommerce Weight Based Shipping <= 5.4.1 - Cross-Site Request Forgery leading to Plugin Settings Changes

Mar 13, 2023 Patched in 5.5.0 (316d)
Version History

Weight Based Shipping for WooCommerce Release Timeline

v6.15.0
v6.14.0
v6.13.0
v6.12.1
v6.12.0
v6.11.0
v6.10.1
v6.10.0
v6.9.1
v6.9.0
v6.8.0
v6.7.0
v6.6.2
v6.6.1
v6.6.0
v6.5.0
v6.4.1
v6.4.0
v6.3.1
v6.3.0
Code Analysis
Analyzed Mar 16, 2026

Weight Based Shipping for WooCommerce Code Analysis

Dangerous Functions
5
Raw SQL Queries
0
0 prepared
Unescaped Output
4
20 escaped
Nonce Checks
0
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

Dangerous Functions Found

assertassert($this->_equals($this), 'equality must be reflexive');server\wbsng\src\Common\Equality\Traits\StandardEquality.php:21
assertassert($to->_equals($this) === $equals, 'equality must be symmetric, e.g., a->equals(b) === b->equalserver\wbsng\src\Common\Equality\Traits\StandardEquality.php:22
assertassert(!$equals || $this->hash() === $to->hash(), 'hashes of equal objects must be equal too');server\wbsng\src\Common\Equality\Traits\StandardEquality.php:23
assertassert(!$items->empty(), 'shipment package must not be empty');server\wbsng\src\Model\Calc\Shipment.php:51
assertassert(!$shipments->empty(), 'solution must not be empty');server\wbsng\src\Model\Calc\Solution.php:47

Output Escaping

83% escaped24 total outputs
Attack Surface

Weight Based Shipping for WooCommerce Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 10
actionadmin_noticesbootstrap.php:28
filterwoocommerce_shipping_methodsserver\src\Plugin.php:84
actionbefore_woocommerce_initserver\src\Plugin.php:91
actionwoocommerce_initserver\src\Plugin.php:142
actionwoocommerce_initserver\src\Plugin.php:188
actionadmin_footerserver\src\ShippingMethod.php:195
filterwoocommerce_shipping_methodsserver\wbsng\src\Plugin.php:41
actionwoocommerce_after_shipping_rateserver\wbsng\src\Plugin.php:55
actionwoocommerce_before_order_itemmetaserver\wbsng\src\Plugin.php:61
filterwoocommerce_hidden_order_itemmetaserver\wbsng\src\Plugin.php:71
Maintenance & Trust

Weight Based Shipping for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 24, 2026
PHP min version7.3
Downloads2.6M

Community Trust

Rating92/100
Number of ratings83
Active installs60K
Developer Profile

Weight Based Shipping for WooCommerce Developer Profile

Dan

4 plugins · 72K total installs

79
trust score
Avg Security Score
100/100
Avg Patch Time
316 days
View full developer profile
Detection Fingerprints

How We Detect Weight Based Shipping 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/weight-based-shipping-for-woocommerce/assets/css/styles.css/wp-content/plugins/weight-based-shipping-for-woocommerce/assets/css/settings.css/wp-content/plugins/weight-based-shipping-for-woocommerce/assets/js/wbsng.js/wp-content/plugins/weight-based-shipping-for-woocommerce/assets/js/wbs-admin.js
Script Paths
/wp-content/plugins/weight-based-shipping-for-woocommerce/assets/js/wbsng.js/wp-content/plugins/weight-based-shipping-for-woocommerce/assets/js/wbs-admin.js
Version Parameters
weight-based-shipping-for-woocommerce/assets/css/styles.css?ver=weight-based-shipping-for-woocommerce/assets/css/settings.css?ver=weight-based-shipping-for-woocommerce/assets/js/wbsng.js?ver=weight-based-shipping-for-woocommerce/assets/js/wbs-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
wbsng-shipping-method-settings
HTML Comments
The classic UI for weight-based shipping options. It works fine and is supported. However, for new setups, the new UI is recommended.
Data Attributes
data-wbsng-shipping-method-settings
JS Globals
wbsng
FAQ

Frequently Asked Questions about Weight Based Shipping for WooCommerce