Simple Discount Rules for Woocommerce Security & Risk Analysis

wordpress.org/plugins/woo-product-category-discount

Simple Discount Rules for Woocommerce allows administrator to add and remove discount to products based on Category.

5K active installs v5.15 PHP + WP 6.0+ Updated Nov 28, 2025
bulk-discountcategory-discountdiscountdiscount-ruleswoocommerce-discount
100
A · Safe
CVEs total1
Unpatched0
Last CVEJan 24, 2024
Safety Verdict

Is Simple Discount Rules for Woocommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Simple Discount Rules 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: Jan 24, 2024Updated 5mo ago
Risk Assessment

The "woo-product-category-discount" plugin, version 5.15, exhibits a mixed security posture. While it shows strengths in SQL query sanitization (82% prepared statements) and output escaping (81%), concerns arise from its attack surface and taint analysis. A significant portion of its entry points, specifically 5 AJAX handlers, lack authentication checks, presenting a direct risk of unauthorized actions. The taint analysis reveals 4 high-severity flows with unsanitized paths, indicating potential for severe security issues like remote code execution or data leakage if these flows are exploitable. The plugin's vulnerability history, while currently showing no unpatched vulnerabilities, does list one known medium-severity CVE from early 2024, specifically a Cross-Site Request Forgery (CSRF). This suggests a past tendency towards vulnerabilities that could allow attackers to trick authenticated users into performing unintended actions. Overall, the presence of unprotected AJAX endpoints and high-severity taint flows outweighs the good practices in other areas, demanding attention to mitigate these specific risks.

Key Concerns

  • Unprotected AJAX handlers
  • High severity taint flows
  • Medium severity CVE history (past issue)
  • Unsanitized paths in taint flows
Vulnerabilities
1 published

Simple Discount Rules for Woocommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2024-0617medium · 5.3Cross-Site Request Forgery (CSRF)

Category Discount Woocommerce <= 4.11 - Cross-Site Request Forgery via wpcd_save_discount()

Jan 24, 2024 Patched in 4.12 (188d)
Version History

Simple Discount Rules for Woocommerce Release Timeline

No version history available.
Code Analysis
Analyzed Mar 16, 2026

Simple Discount Rules for Woocommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
7
32 prepared
Unescaped Output
25
107 escaped
Nonce Checks
5
Capability Checks
14
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

82% prepared39 total queries

Output Escaping

81% escaped132 total outputs
Data Flows · Security
5 unsanitized

Data Flow Analysis

6 flows5 with unsanitized paths
search_box (admin\class-woo-product-category-discount-list-table-original.php:383)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
5 unprotected

Simple Discount Rules for Woocommerce Attack Surface

Entry Points13
Unprotected5

AJAX Handlers 5

authwp_ajax_update_discount_statusincludes\class-woo-product-category-discount.php:159
authwp_ajax_terminate_discount_progressincludes\class-woo-product-category-discount.php:160
authwp_ajax_get_latest_discount_statusincludes\class-woo-product-category-discount.php:163
authwp_ajax_wpcd_add_optional_gift_to_cartincludes\class-woo-product-category-discount.php:194
noprivwp_ajax_wpcd_add_optional_gift_to_cartincludes\class-woo-product-category-discount.php:195

REST API Routes 8

GET/wp-json/wpcd/v1/taxonomy-termsadmin\class-woo-product-category-discount-admin.php:335
POST/wp-json/wpcd/v1/estimate-affected-productsadmin\class-woo-product-category-discount-admin.php:353
POST/wp-json/wpcd/v1/schedule-discountadmin\class-woo-product-category-discount-admin.php:361
POST/wp-json/wpcd/v1/process-discountadmin\class-woo-product-category-discount-admin.php:369
POST/wp-json/wpcd/v1/remove-discountadmin\class-woo-product-category-discount-admin.php:377
GET/wp-json/wpcd/v1/get-scheduled-discount/(?P<id>[a-zA-Z0-9_-]+)admin\class-woo-product-category-discount-admin.php:385
GET/wp-json/wpcd/v1/discount-progress/(?P<id>[a-zA-Z0-9_-]+)admin\class-woo-product-category-discount-admin.php:393
GET/wp-json/wpcd/v1/productsadmin\class-woo-product-category-discount-admin.php:401
WordPress Hooks 29
actionadmin_footeradmin\class-woo-product-category-discount-list-table-original.php:164
actionadmin_enqueue_scriptsincludes\class-woo-product-category-discount.php:149
actionadmin_menuincludes\class-woo-product-category-discount.php:150
actionrest_api_initincludes\class-woo-product-category-discount.php:151
actionwpcd_apply_discount_setupincludes\class-woo-product-category-discount.php:152
actionwpcd_apply_discountincludes\class-woo-product-category-discount.php:153
actionwpcd_remove_discount_setupincludes\class-woo-product-category-discount.php:154
actionwpcd_remove_discountincludes\class-woo-product-category-discount.php:155
actionadmin_noticesincludes\class-woo-product-category-discount.php:156
actionwoocommerce_process_product_metaincludes\class-woo-product-category-discount.php:157
actionupdated_postmetaincludes\class-woo-product-category-discount.php:158
actionplugins_loadedincludes\class-woo-product-category-discount.php:161
actionadmin_initincludes\class-woo-product-category-discount.php:162
actionadmin_initincludes\class-woo-product-category-discount.php:165
actionwpcd_discount_legacy_migrateincludes\class-woo-product-category-discount.php:166
actionupgrader_process_completeincludes\class-woo-product-category-discount.php:167
actionadmin_headincludes\class-woo-product-category-discount.php:171
actioncurrent_screenincludes\class-woo-product-category-discount.php:172
actionwp_enqueue_scriptsincludes\class-woo-product-category-discount.php:187
actionwp_enqueue_scriptsincludes\class-woo-product-category-discount.php:188
actionwoocommerce_cart_calculate_feesincludes\class-woo-product-category-discount.php:189
actionwoocommerce_cart_updatedincludes\class-woo-product-category-discount.php:190
actionwpincludes\class-woo-product-category-discount.php:191
actionwoocommerce_before_calculate_totalsincludes\class-woo-product-category-discount.php:192
filterwoocommerce_cart_item_quantityincludes\class-woo-product-category-discount.php:193
actiontemplate_redirectincludes\class-woo-product-category-discount.php:196
filterwoocommerce_get_item_dataincludes\class-woo-product-category-discount.php:197
actionadmin_menuquanticedge\includes\class-updater.php:15
actionadmin_enqueue_scriptsquanticedge\includes\class-updater.php:16

Scheduled Events 11

wpcd_apply_discount_setup
wpcd_remove_discount_setup
wpcd_remove_discount_setup
wpcd_apply_discount
wpcd_remove_discount
wpcd_remove_discount_setup
wpcd_remove_discount_setup
wpcd_apply_discount_setup
wpcd_apply_discount_setup
wpcd_remove_discount_setup
wpcd_discount_legacy_migrate
Maintenance & Trust

Simple Discount Rules for Woocommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedNov 28, 2025
PHP min version
Downloads137K

Community Trust

Rating92/100
Number of ratings71
Active installs5K
Developer Profile

Simple Discount Rules for Woocommerce Developer Profile

Vidish

6 plugins · 8K total installs

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

How We Detect Simple Discount Rules 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/woo-product-category-discount/admin/assets/css/admin-style.css/wp-content/plugins/woo-product-category-discount/admin/assets/js/admin-script.js/wp-content/plugins/woo-product-category-discount/public/assets/css/public-style.css/wp-content/plugins/woo-product-category-discount/public/assets/js/public-script.js
Script Paths
/wp-content/plugins/woo-product-category-discount/admin/assets/js/admin-script.js/wp-content/plugins/woo-product-category-discount/public/assets/js/public-script.js
Version Parameters
woo-product-category-discount/admin/assets/css/admin-style.css?ver=woo-product-category-discount/admin/assets/js/admin-script.js?ver=woo-product-category-discount/public/assets/css/public-style.css?ver=woo-product-category-discount/public/assets/js/public-script.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpcd-statuswp-list-toggletoggle-statusdiscount-status
Data Attributes
data-id
JS Globals
wpcd_get_related_termswpcd_get_admin_discount_statuswpcd_get_admin_discount_status_htmlWPCD_Category_Discount
FAQ

Frequently Asked Questions about Simple Discount Rules for Woocommerce