Min Max Step Quantity Limits Manager for WooCommerce Security & Risk Analysis

wordpress.org/plugins/product-quantity-for-woocommerce

Define a min/max, step, decimal & default quantity for products, show a dropdown and much more on WooCommerce stores.

4K active installs v5.2.7 PHP + WP 6.1+ Updated Apr 15, 2026
decimal-quantitydropdownmaximum-quantityminimum-quantityquantity
98
A · Safe
CVEs total2
Unpatched0
Last CVEApr 21, 2026
Safety Verdict

Is Min Max Step Quantity Limits Manager for WooCommerce Safe to Use in 2026?

Generally Safe

Score 98/100

Min Max Step Quantity Limits Manager 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: Apr 21, 2026Updated 1mo ago
Risk Assessment

The plugin "product-quantity-for-woocommerce" version 5.2.4 demonstrates a generally good security posture with no critical or high severity taint flows identified and a high percentage of properly escaped output. The static analysis indicates a well-defined attack surface, with all entry points either protected by AJAX handlers or shortcodes, and no unprotected REST API routes. The absence of file operations and external HTTP requests further strengthens its security profile. However, a significant concern arises from the complete lack of prepared statements for SQL queries, which presents a substantial risk of SQL injection vulnerabilities if the data involved is not meticulously sanitized elsewhere.

The vulnerability history, while showing no currently unpatched CVEs, reveals a past medium-severity vulnerability, specifically a Cross-Site Request Forgery (CSRF). The fact that a CSRF vulnerability existed in the past, even if patched, suggests a need for continued vigilance in handling user interactions and ensuring proper CSRF protection mechanisms are consistently implemented. The presence of only two nonce checks for seven total entry points might be a contributing factor, especially if these checks are not strategically placed to cover all sensitive operations.

In conclusion, while the plugin excels in many areas of secure coding practice, the unmitigated SQL queries are a critical weakness that demands immediate attention. The historical CSRF vulnerability, though resolved, serves as a reminder of potential attack vectors. Addressing the SQL query sanitization and ensuring comprehensive nonce checks across all entry points would significantly improve the overall security of this plugin.

Key Concerns

  • Raw SQL queries without prepared statements
  • Bundled outdated library: Select2 v3.4.8
  • No capability checks on entry points
  • Past medium severity vulnerability (CSRF)
Vulnerabilities
2 published

Min Max Step Quantity Limits Manager for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
1 CVE in 2026
2026
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

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

Min Max Step Quantity Limits Manager for WooCommerce <= 5.2.2 - Reflected Cross-Site Scripting

Apr 21, 2026 Patched in 5.2.3 (10d)
CVE-2025-49510medium · 4.3Cross-Site Request Forgery (CSRF)

Min Max Step Quantity Limits Manager for WooCommerce <= 5.1.0 - Cross-Site Request Forgery

Jun 6, 2025 Patched in 5.1.1 (34d)
Version History

Min Max Step Quantity Limits Manager for WooCommerce Release Timeline

v5.2.7Current
v5.2.6
v5.2.5
v5.2.4
v5.2.3
v5.2.21 CVE
v5.2.11 CVE
v5.2.01 CVE
v5.1.91 CVE
v5.1.81 CVE
v5.1.61 CVE
v5.1.51 CVE
v5.1.41 CVE
v5.1.31 CVE
v5.1.21 CVE
v5.1.11 CVE
Code Analysis
Analyzed Mar 16, 2026

Min Max Step Quantity Limits Manager for WooCommerce Code Analysis

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

Bundled Libraries

Select23.4.8

SQL Query Safety

0% prepared2 total queries

Output Escaping

81% escaped205 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

2 flows
ajax_price_by_qty (includes\class-alg-wc-pq-core.php:3049)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Min Max Step Quantity Limits Manager for WooCommerce Attack Surface

Entry Points7
Unprotected0

AJAX Handlers 2

authwp_ajax_alg_wc_pq_update_closedateincludes\class-alg-wc-pq-core.php:456
noprivwp_ajax_alg_wc_pq_update_closedateincludes\class-alg-wc-pq-core.php:457

Shortcodes 5

[alg_wc_pq_min_product_qty] includes\class-alg-wc-pq-shortcodes.php:27
[alg_wc_pq_max_product_qty] includes\class-alg-wc-pq-shortcodes.php:28
[alg_wc_pq_product_qty_step] includes\class-alg-wc-pq-shortcodes.php:29
[alg_wc_pq_product_qty_price_unit] includes\class-alg-wc-pq-shortcodes.php:30
[alg_wc_pq_translate] includes\class-alg-wc-pq-shortcodes.php:31
WordPress Hooks 80
filtermanage_edit-product_columnsincludes\class-alg-wc-pq-admin.php:24
actionmanage_product_posts_custom_columnincludes\class-alg-wc-pq-admin.php:25
actionwoocommerce_checkout_processincludes\class-alg-wc-pq-core.php:268
actionwoocommerce_before_cartincludes\class-alg-wc-pq-core.php:270
actionwpincludes\class-alg-wc-pq-core.php:272
filterwoocommerce_available_variationincludes\class-alg-wc-pq-core.php:278
filterwoocommerce_store_api_product_quantity_minimumincludes\class-alg-wc-pq-core.php:280
filterwoocommerce_is_purchasableincludes\class-alg-wc-pq-core.php:281
filterwoocommerce_quantity_input_maxincludes\class-alg-wc-pq-core.php:284
filterwoocommerce_store_api_product_quantity_maximumincludes\class-alg-wc-pq-core.php:285
filterwoocommerce_loop_add_to_cart_argsincludes\class-alg-wc-pq-core.php:289
actionadmin_initincludes\class-alg-wc-pq-core.php:296
filterwoocommerce_quantity_input_stepincludes\class-alg-wc-pq-core.php:302
filterwoocommerce_quantity_input_stepincludes\class-alg-wc-pq-core.php:306
filterwoocommerce_quantity_input_stepincludes\class-alg-wc-pq-core.php:310
filterwoocommerce_quantity_input_stepincludes\class-alg-wc-pq-core.php:312
filterwoocommerce_store_api_product_quantity_multiple_ofincludes\class-alg-wc-pq-core.php:317
filterwoocommerce_quantity_input_argsincludes\class-alg-wc-pq-core.php:327
actioninitincludes\class-alg-wc-pq-core.php:331
actionsave_postincludes\class-alg-wc-pq-core.php:332
actionwoocommerce_save_product_variationincludes\class-alg-wc-pq-core.php:333
actionwoocommerce_product_set_stockincludes\class-alg-wc-pq-core.php:334
actionwoocommerce_variation_set_stockincludes\class-alg-wc-pq-core.php:335
filterwoocommerce_is_sold_individuallyincludes\class-alg-wc-pq-core.php:340
actionwp_headincludes\class-alg-wc-pq-core.php:345
actionwp_headincludes\class-alg-wc-pq-core.php:350
filterwoocommerce_add_to_cart_validationincludes\class-alg-wc-pq-core.php:355
filterwoocommerce_add_to_cart_quantityincludes\class-alg-wc-pq-core.php:357
filterwoocommerce_add_to_cart_validationincludes\class-alg-wc-pq-core.php:359
filterwoocommerce_add_to_cart_quantityincludes\class-alg-wc-pq-core.php:364
filterwc_get_templateincludes\class-alg-wc-pq-core.php:369
filterwc_get_templateincludes\class-alg-wc-pq-core.php:372
actionwoocommerce_new_order_itemincludes\class-alg-wc-pq-core.php:397
filterwoocommerce_paypal_line_itemincludes\class-alg-wc-pq-core.php:400
filterwoocommerce_get_price_htmlincludes\class-alg-wc-pq-core.php:402
filterwoocommerce_cart_item_priceincludes\class-alg-wc-pq-core.php:410
filterwoocommerce_email_order_item_quantityincludes\class-alg-wc-pq-core.php:411
filterwoocommerce_loop_add_to_cart_linkincludes\class-alg-wc-pq-core.php:420
actioninitincludes\class-alg-wc-pq-core.php:423
actioninitincludes\class-alg-wc-pq-core.php:424
actionwp_footerincludes\class-alg-wc-pq-core.php:425
filterwc_add_to_cart_message_htmlincludes\class-alg-wc-pq-core.php:429
actionadmin_initincludes\class-alg-wc-pq-core.php:432
actionwoocommerce_update_productincludes\class-alg-wc-pq-core.php:451
actionwoocommerce_product_options_advancedincludes\class-alg-wc-pq-core.php:453
actionwoocommerce_process_product_metaincludes\class-alg-wc-pq-core.php:454
actionadmin_footerincludes\class-alg-wc-pq-core.php:458
actionadmin_headincludes\class-alg-wc-pq-core.php:460
actionwp_footerincludes\class-alg-wc-pq-core.php:462
actionadmin_footerincludes\class-alg-wc-pq-core.php:464
actionwoocommerce_attribute_addedincludes\class-alg-wc-pq-core.php:467
actionwoocommerce_attribute_updatedincludes\class-alg-wc-pq-core.php:468
actionwoocommerce_attribute_deletedincludes\class-alg-wc-pq-core.php:469
filterwoocommerce_stock_amountincludes\class-alg-wc-pq-core.php:2378
filterwoocommerce_quantity_input_maxincludes\class-alg-wc-pq-core.php:3689
filteralg_wc_pq_quantity_step_per_productincludes\class-alg-wc-pq-free.php:29
filteralg_wc_pq_quantity_step_per_product_valueincludes\class-alg-wc-pq-free.php:30
filteralg_wc_pq_per_item_quantity_per_productincludes\class-alg-wc-pq-free.php:33
filteralg_wc_pq_per_item_quantity_per_product_valueincludes\class-alg-wc-pq-free.php:34
actionwoocommerce_check_cart_itemsincludes\class-alg-wc-pq-qty-info.php:35
actionwoocommerce_single_product_summaryincludes\class-alg-wc-pq-qty-info.php:41
actionwoocommerce_after_shop_loop_itemincludes\class-alg-wc-pq-qty-info.php:53
actionwp_enqueue_scriptsincludes\class-alg-wc-pq-scripts.php:24
actionproduct_cat_edit_form_fieldsincludes\settings\class-alg-wc-pq-category-metaboxes.php:60
actionedited_product_catincludes\settings\class-alg-wc-pq-category-metaboxes.php:61
actionadd_meta_boxesincludes\settings\class-alg-wc-pq-metaboxes.php:73
actionsave_post_productincludes\settings\class-alg-wc-pq-metaboxes.php:76
actionsave_postincludes\settings\class-alg-wc-pq-metaboxes.php:78
filterwoocommerce_get_sections_alg_wc_pqincludes\settings\class-alg-wc-pq-settings-section.php:47
filterwoocommerce_get_sections_alg_wc_pqincludes\settings\class-alg-wc-pq-settings-section.php:48
actionadmin_headincludes\settings\class-alg-wc-pq-settings-section.php:50
filterwoocommerce_admin_settings_sanitize_optionincludes\settings\class-alg-wc-settings-pq.php:28
filterwoocommerce_admin_settings_sanitize_optionincludes\settings\class-alg-wc-settings-pq.php:29
actionadmin_noticesincludes\settings\class-alg-wc-settings-pq.php:163
actioninitproduct-quantity-for-woocommerce.php:135
actionbefore_woocommerce_initproduct-quantity-for-woocommerce.php:138
actioninitproduct-quantity-for-woocommerce.php:214
filterwoocommerce_get_settings_pagesproduct-quantity-for-woocommerce.php:217
actionadmin_initproduct-quantity-for-woocommerce.php:239
actionplugins_loadedproduct-quantity-for-woocommerce.php:391
Maintenance & Trust

Min Max Step Quantity Limits Manager for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedApr 15, 2026
PHP min version
Downloads313K

Community Trust

Rating98/100
Number of ratings51
Active installs4K
Developer Profile

Min Max Step Quantity Limits Manager for WooCommerce Developer Profile

WPFactory

64 plugins · 137K total installs

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

How We Detect Min Max Step Quantity Limits Manager 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/product-quantity-for-woocommerce/assets/css/frontend.css/wp-content/plugins/product-quantity-for-woocommerce/assets/js/frontend.js/wp-content/plugins/product-quantity-for-woocommerce/assets/css/frontend-legacy.css/wp-content/plugins/product-quantity-for-woocommerce/assets/js/frontend-legacy.js
Script Paths
/wp-content/plugins/product-quantity-for-woocommerce/assets/js/frontend.js/wp-content/plugins/product-quantity-for-woocommerce/assets/js/frontend-legacy.js
Version Parameters
product-quantity-for-woocommerce/assets/css/frontend.css?ver=product-quantity-for-woocommerce/assets/js/frontend.js?ver=product-quantity-for-woocommerce/assets/css/frontend-legacy.css?ver=product-quantity-for-woocommerce/assets/js/frontend-legacy.js?ver=

HTML / DOM Fingerprints

CSS Classes
alg-wc-pq-quantity-wrapperalg-wc-pq-quantity-input
Data Attributes
data-alg-wc-pq-product-iddata-alg-wc-pq-max-qtydata-alg-wc-pq-min-qtydata-alg-wc-pq-step-qtydata-alg-wc-pq-qty-incrementdata-alg-wc-pq-qty-decrement
JS Globals
alg_wc_pq_frontend_params
FAQ

Frequently Asked Questions about Min Max Step Quantity Limits Manager for WooCommerce