CartBounty – Save and recover abandoned carts for WooCommerce Security & Risk Analysis

wordpress.org/plugins/woo-save-abandoned-carts

Save abandoned carts and send automated abandoned cart recovery messages. Get more leads, reduce cart abandonment, and increase sales.

10K active installs v8.10 PHP 7.0+ WP 4.6+ Updated Dec 5, 2025
abandoned-cartsactivecampaigncart-abandonmentexit-popupwoocommerce
99
A · Safe
CVEs total1
Unpatched0
Last CVESep 30, 2024
Safety Verdict

Is CartBounty – Save and recover abandoned carts for WooCommerce Safe to Use in 2026?

Generally Safe

Score 99/100

CartBounty – Save and recover abandoned carts for WooCommerce has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Sep 30, 2024Updated 3mo ago
Risk Assessment

The "woo-save-abandoned-carts" plugin version 8.10 exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices by utilizing prepared statements for the vast majority of its SQL queries and has no known unpatched vulnerabilities. It also lacks file operations and external HTTP requests, which reduces certain attack vectors. However, significant concerns arise from the attack surface. All 11 AJAX handlers are exposed without any authentication checks, creating a large potential entry point for attackers. Furthermore, the taint analysis reveals 6 high-severity flows with unsanitized paths, indicating potential for malicious data to be processed in unintended ways, even though no critical severity issues were found. The plugin's vulnerability history shows a single medium-severity CSRF vulnerability, which, while patched, suggests a history of security weaknesses that require ongoing vigilance. While the plugin has strengths in database query security and a lack of critical unpatched issues, the unprotected AJAX endpoints and high-severity taint flows represent immediate and serious risks that need to be addressed.

Key Concerns

  • AJAX handlers without auth checks
  • High severity taint flows
  • Medium severity CVE history
  • Output escaping not fully implemented
Vulnerabilities
1

CartBounty – Save and recover abandoned carts for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2024-47634medium · 4.3Cross-Site Request Forgery (CSRF)

CartBounty – Save and recover abandoned carts for WooCommerce <= 8.2 - Cross-Site Request Forgery

Sep 30, 2024 Patched in 8.2.1 (11d)
Code Analysis
Analyzed Mar 16, 2026

CartBounty – Save and recover abandoned carts for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
70 prepared
Unescaped Output
256
665 escaped
Nonce Checks
12
Capability Checks
2
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

95% prepared74 total queries

Output Escaping

72% escaped921 total outputs
Data Flows
8 unsanitized

Data Flow Analysis

9 flows8 with unsanitized paths
display_page (admin\class-cartbounty-admin.php:417)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
11 unprotected

CartBounty – Save and recover abandoned carts for WooCommerce Attack Surface

Entry Points11
Unprotected11

AJAX Handlers 11

authwp_ajax_force_syncincludes\class-cartbounty.php:149
authwp_ajax_get_system_statusincludes\class-cartbounty.php:150
authwp_ajax_handle_noticeincludes\class-cartbounty.php:151
noprivwp_ajax_cartbounty_saveincludes\class-cartbounty.php:167
authwp_ajax_cartbounty_saveincludes\class-cartbounty.php:168
authwp_ajax_email_previewincludes\class-cartbounty.php:188
authwp_ajax_send_testincludes\class-cartbounty.php:189
authwp_ajax_update_quick_statsincludes\class-cartbounty.php:202
authwp_ajax_update_chartsincludes\class-cartbounty.php:203
authwp_ajax_apply_report_periodincludes\class-cartbounty.php:204
authwp_ajax_update_chart_typeincludes\class-cartbounty.php:205
WordPress Hooks 40
actionadmin_enqueue_scriptsincludes\class-cartbounty.php:126
actionadmin_enqueue_scriptsincludes\class-cartbounty.php:127
actionadmin_menuincludes\class-cartbounty.php:128
actionadmin_headincludes\class-cartbounty.php:129
actionadmin_headincludes\class-cartbounty.php:130
filterset-screen-optionincludes\class-cartbounty.php:131
actionadmin_initincludes\class-cartbounty.php:132
filtercron_schedulesincludes\class-cartbounty.php:133
actionupdate_option_cartbounty_main_settingsincludes\class-cartbounty.php:134
actionplugins_loadedincludes\class-cartbounty.php:135
actioncartbounty_after_page_titleincludes\class-cartbounty.php:137
actioninitincludes\class-cartbounty.php:138
actioncartbounty_remove_empty_carts_hookincludes\class-cartbounty.php:139
actioncartbounty_remove_empty_carts_hookincludes\class-cartbounty.php:140
actionadmin_noticesincludes\class-cartbounty.php:141
actioncartbounty_notification_sendout_hookincludes\class-cartbounty.php:142
filterwoocommerce_billing_fieldsincludes\class-cartbounty.php:143
actionwoocommerce_new_orderincludes\class-cartbounty.php:144
actionwoocommerce_checkout_order_processedincludes\class-cartbounty.php:145
actionprofile_updateincludes\class-cartbounty.php:146
filteradmin_body_classincludes\class-cartbounty.php:147
actionwp_loadedincludes\class-cartbounty.php:148
actioncartbounty_automation_footer_endincludes\class-cartbounty.php:152
actioncartbounty_admin_email_footer_endincludes\class-cartbounty.php:153
actionpre_update_optionincludes\class-cartbounty.php:154
actionwp_enqueue_scriptsincludes\class-cartbounty.php:165
actionwp_enqueue_scriptsincludes\class-cartbounty.php:166
actionwoocommerce_add_to_cartincludes\class-cartbounty.php:169
actionwoocommerce_cart_actionsincludes\class-cartbounty.php:170
actionwoocommerce_cart_item_removedincludes\class-cartbounty.php:171
actionwpincludes\class-cartbounty.php:172
actionshutdownincludes\class-cartbounty.php:173
actionwp_footerincludes\class-cartbounty.php:174
actioncartbounty_sync_hookincludes\class-cartbounty.php:185
actionupdate_option_cartbounty_automation_stepsincludes\class-cartbounty.php:186
actionupdate_option_cartbounty_automation_settingsincludes\class-cartbounty.php:187
filtercartbounty_automation_unsubscribe_urlincludes\class-cartbounty.php:190
actionadmin_initincludes\class-cartbounty.php:201
filterwoocommerce_ship_to_different_address_checkedpublic\class-cartbounty-public.php:1006
filterwoocommerce_create_account_default_checkedpublic\class-cartbounty-public.php:1012
Maintenance & Trust

CartBounty – Save and recover abandoned carts for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 5, 2025
PHP min version7.0
Downloads444K

Community Trust

Rating96/100
Number of ratings84
Active installs10K
Developer Profile

CartBounty – Save and recover abandoned carts for WooCommerce Developer Profile

Streamline

2 plugins · 10K total installs

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

How We Detect CartBounty – Save and recover abandoned carts 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-save-abandoned-carts/assets/css/cartbounty-admin.css/wp-content/plugins/woo-save-abandoned-carts/assets/css/cartbounty-public.css/wp-content/plugins/woo-save-abandoned-carts/assets/js/cartbounty-admin.js/wp-content/plugins/woo-save-abandoned-carts/assets/js/cartbounty-public.js/wp-content/plugins/woo-save-abandoned-carts/assets/js/cartbounty-reports.js
Script Paths
/wp-content/plugins/woo-save-abandoned-carts/admin/js/cartbounty-admin.js/wp-content/plugins/woo-save-abandoned-carts/public/js/cartbounty-public.js/wp-content/plugins/woo-save-abandoned-carts/admin/js/cartbounty-reports.js
Version Parameters
woo-save-abandoned-carts/assets/css/cartbounty-admin.css?ver=woo-save-abandoned-carts/assets/css/cartbounty-public.css?ver=woo-save-abandoned-carts/assets/js/cartbounty-admin.js?ver=woo-save-abandoned-carts/assets/js/cartbounty-public.js?ver=woo-save-abandoned-carts/assets/js/cartbounty-reports.js?ver=

HTML / DOM Fingerprints

CSS Classes
cartbounty-admin-wrapcartbounty-settings-wrapcartbounty-abandoned-cart-listcartbounty-recovered-cart-listcartbounty-email-template-editor
HTML Comments
<!-- CartBounty Settings Start --><!-- CartBounty Settings End --><!-- CartBounty Abandoned Cart List Start --><!-- CartBounty Recovered Cart List Start -->+1 more
Data Attributes
data-cartbounty-iddata-cartbounty-actiondata-cartbounty-nonce
JS Globals
cartbounty_admin_paramscartbounty_public_paramscartbounty_reports_params
REST Endpoints
/wp-json/cartbounty/v1/carts/wp-json/cartbounty/v1/settings
FAQ

Frequently Asked Questions about CartBounty – Save and recover abandoned carts for WooCommerce