Unit Price for WooCommerce Security & Risk Analysis

wordpress.org/plugins/unit-price-for-woocommerce

WooCommerce plugin for configuring products which are sold by units but priced by weight.

1K active installs v1.2.5 PHP 7.0+ WP 5.2+ Updated Dec 23, 2025
decimalkgunitvegetables
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Unit Price for WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Unit Price for WooCommerce has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 3mo ago
Risk Assessment

The "unit-price-for-woocommerce" v1.2.5 plugin presents a significant security risk primarily due to its unprotected AJAX handlers. The static analysis reveals an attack surface consisting of 6 AJAX handlers, all of which lack authentication checks. This means any unauthenticated user could potentially trigger these functionalities, opening the door to various attacks depending on what these handlers do.

While the plugin demonstrates good practices by utilizing prepared statements for its SQL queries and avoiding file operations or external HTTP requests, the complete absence of nonces and capability checks on its entry points is a major concern. The taint analysis, though limited in scope, did identify a flow with unsanitized paths, which could potentially lead to issues if combined with the lack of proper input validation and sanitization on the AJAX handlers. The plugin's vulnerability history is clean, with no recorded CVEs, which might suggest past good security practices or simply a lack of past scrutiny. However, this does not negate the current risks identified in the code.

In conclusion, the plugin has some strengths, particularly in its database query handling and lack of external dependencies. However, the presence of multiple unprotected AJAX endpoints represents a critical weakness that severely undermines its overall security posture. This requires immediate attention and remediation to prevent potential exploitation.

Key Concerns

  • Unprotected AJAX handlers
  • Missing nonce checks
  • Missing capability checks
  • Unsanitized path in taint flow
  • Low percentage of properly escaped output
Vulnerabilities
None known

Unit Price for WooCommerce Security Vulnerabilities

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

Unit Price for WooCommerce Code Analysis

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

Output Escaping

28% escaped87 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

1 flows1 with unsanitized paths
<unit-price-for-woocommerce> (unit-price-for-woocommerce.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
6 unprotected

Unit Price for WooCommerce Attack Surface

Entry Points6
Unprotected6

AJAX Handlers 6

authwp_ajax_wc_set_item_quantityunit-price-for-woocommerce.php:123
noprivwp_ajax_wc_set_item_quantityunit-price-for-woocommerce.php:124
authwp_ajax_wc_variable_set_item_quantityunit-price-for-woocommerce.php:129
noprivwp_ajax_wc_variable_set_item_quantityunit-price-for-woocommerce.php:130
authwp_ajax_wc_ajax_add_to_cartunit-price-for-woocommerce.php:135
noprivwp_ajax_wc_ajax_add_to_cartunit-price-for-woocommerce.php:136
WordPress Hooks 64
actionbefore_woocommerce_initunit-price-for-woocommerce.php:43
actionplugins_loadedunit-price-for-woocommerce.php:48
filterplugin_row_metaunit-price-for-woocommerce.php:72
actionadmin_headunit-price-for-woocommerce.php:73
filterwoocommerce_settings_tabs_arrayunit-price-for-woocommerce.php:74
actionwoocommerce_settings_tabs_upwunit-price-for-woocommerce.php:75
actionwoocommerce_update_options_upwunit-price-for-woocommerce.php:76
filterwoocommerce_product_data_tabsunit-price-for-woocommerce.php:77
actionwoocommerce_product_data_panelsunit-price-for-woocommerce.php:78
actionwoocommerce_process_product_meta_simpleunit-price-for-woocommerce.php:79
actionwoocommerce_product_after_variable_attributesunit-price-for-woocommerce.php:80
actionwoocommerce_save_product_variationunit-price-for-woocommerce.php:81
filterwoocommerce_admin_settings_sanitize_option_wc_upw_product_quantity_stepunit-price-for-woocommerce.php:82
filterwoocommerce_admin_settings_sanitize_option_wc_upw_product_quantity_suffixunit-price-for-woocommerce.php:83
filterwoocommerce_admin_settings_sanitize_option_wc_upw_quantity_simpleunit-price-for-woocommerce.php:84
filterwoocommerce_order_item_display_meta_keyunit-price-for-woocommerce.php:85
filterwoocommerce_quantity_input_step_adminunit-price-for-woocommerce.php:92
filterwoocommerce_quantity_input_stepunit-price-for-woocommerce.php:94
filterwoocommerce_stock_amountunit-price-for-woocommerce.php:98
filterwoocommerce_quantity_input_argsunit-price-for-woocommerce.php:101
actionwoocommerce_available_variationunit-price-for-woocommerce.php:102
actionwoocommerce_after_variations_formunit-price-for-woocommerce.php:103
filterwc_add_to_cart_message_htmlunit-price-for-woocommerce.php:104
filterwoocommerce_cart_contents_countunit-price-for-woocommerce.php:105
actionwoocommerce_checkout_create_order_line_itemunit-price-for-woocommerce.php:108
filterwoocommerce_hidden_order_itemmetaunit-price-for-woocommerce.php:109
actionwoocommerce_admin_order_item_headersunit-price-for-woocommerce.php:110
actionwoocommerce_admin_order_item_valuesunit-price-for-woocommerce.php:111
filterwoocommerce_email_order_item_quantityunit-price-for-woocommerce.php:112
filterwoocommerce_order_item_quantity_htmlunit-price-for-woocommerce.php:113
filterwoocommerce_order_again_cart_item_dataunit-price-for-woocommerce.php:114
filterwoocommerce_add_order_again_cart_itemunit-price-for-woocommerce.php:115
filterwoocommerce_get_price_suffixunit-price-for-woocommerce.php:117
filterwoocommerce_loop_add_to_cart_argsunit-price-for-woocommerce.php:121
filterwoocommerce_quantity_input_argsunit-price-for-woocommerce.php:122
actionwoocommerce_after_shop_loopunit-price-for-woocommerce.php:125
actionwoocommerce_available_variationunit-price-for-woocommerce.php:128
actionwoocommerce_after_shop_loopunit-price-for-woocommerce.php:131
filterwoocommerce_product_get_default_attributesunit-price-for-woocommerce.php:134
actioninitunit-price-for-woocommerce.php:139
filterwoocommerce_after_shop_loopunit-price-for-woocommerce.php:140
filterwoocommerce_loop_add_to_cart_linkunit-price-for-woocommerce.php:143
actionwoocommerce_after_shop_loopunit-price-for-woocommerce.php:144
actionwoocommerce_after_quantity_input_fieldunit-price-for-woocommerce.php:147
actionwoocommerce_available_variationunit-price-for-woocommerce.php:148
actionwoocommerce_after_variations_formunit-price-for-woocommerce.php:149
filterwoocommerce_format_stock_quantityunit-price-for-woocommerce.php:150
filterwoocommerce_widget_cart_item_quantityunit-price-for-woocommerce.php:151
filterwoocommerce_cart_item_quantityunit-price-for-woocommerce.php:152
filterwoocommerce_checkout_cart_item_quantityunit-price-for-woocommerce.php:153
actionwoocommerce_checkout_create_order_line_itemunit-price-for-woocommerce.php:154
filterwoocommerce_email_order_item_quantityunit-price-for-woocommerce.php:155
filterwoocommerce_order_item_quantity_htmlunit-price-for-woocommerce.php:156
filterwoocommerce_loop_add_to_cart_linkunit-price-for-woocommerce.php:159
actionwoocommerce_after_shop_loopunit-price-for-woocommerce.php:160
filterwoocommerce_get_price_htmlunit-price-for-woocommerce.php:164
filterwoocommerce_cart_item_priceunit-price-for-woocommerce.php:166
actionwoocommerce_after_add_to_cart_buttonunit-price-for-woocommerce.php:169
actionwoocommerce_after_shop_loop_itemunit-price-for-woocommerce.php:170
filterwoocommerce_available_variationunit-price-for-woocommerce.php:171
actionwp_footerunit-price-for-woocommerce.php:172
filterpre_option_woocommerce_enable_ajax_add_to_cartunit-price-for-woocommerce.php:175
actionwoocommerce_after_shop_loop_itemunit-price-for-woocommerce.php:1124
actionwoocommerce_single_variationunit-price-for-woocommerce.php:1134
Maintenance & Trust

Unit Price for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 23, 2025
PHP min version7.0
Downloads23K

Community Trust

Rating96/100
Number of ratings10
Active installs1K
Developer Profile

Unit Price for WooCommerce Developer Profile

Condless

7 plugins · 10K total installs

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

How We Detect Unit Price 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/unit-price-for-woocommerce/assets/css/frontend/frontend.css/wp-content/plugins/unit-price-for-woocommerce/assets/js/frontend/frontend.js/wp-content/plugins/unit-price-for-woocommerce/assets/js/frontend/variable-frontend.js
Script Paths
/wp-content/plugins/unit-price-for-woocommerce/assets/js/frontend/frontend.js/wp-content/plugins/unit-price-for-woocommerce/assets/js/frontend/variable-frontend.js
Version Parameters
unit-price-for-woocommerce/assets/css/frontend/frontend.css?ver=unit-price-for-woocommerce/assets/js/frontend/frontend.js?ver=unit-price-for-woocommerce/assets/js/frontend/variable-frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
wc_upw_quantity_inputwc_upw_quantity_containerwc_upw_variable_quantity_inputwc-upw-add-to-cart-button
Data Attributes
data-unit-pricedata-unit-measurementdata-step
JS Globals
wc_upw_paramswc_upw_variable_params
FAQ

Frequently Asked Questions about Unit Price for WooCommerce