Cart recovery for WordPress Security & Risk Analysis

wordpress.org/plugins/cart-recovery

Cart recovery for WordPress brings abandoned cart recovery and tracking to your WordPress store.

100 active installs v3.4.4 PHP 7.4+ WP 6.4+ Updated Dec 2, 2025
abanadonedcartecommercemarketingwoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Cart recovery for WordPress Safe to Use in 2026?

Generally Safe

Score 100/100

Cart recovery for WordPress has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 4mo ago
Risk Assessment

The cart-recovery plugin v3.4.4 presents a mixed security posture. On the positive side, it demonstrates good practices in areas like SQL query sanitization, with 100% using prepared statements, and a high rate of output escaping (93%). The plugin also has a clean vulnerability history with no known CVEs, indicating a generally stable and secure codebase over time. However, there are significant concerns related to its attack surface. With two AJAX handlers, both lacking authentication checks, there's a clear risk of unauthorized actions being performed if these entry points can be accessed by unauthenticated users. The presence of the `unserialize` function, while not explicitly flagged as a taint flow issue in this analysis, is a known vector for deserialization vulnerabilities and should be treated with caution, especially when processing external or untrusted data.

Key Concerns

  • AJAX handlers without auth checks
  • Dangerous function 'unserialize' present
Vulnerabilities
None known

Cart recovery for WordPress Security Vulnerabilities

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

Cart recovery for WordPress Code Analysis

Dangerous Functions
2
Raw SQL Queries
0
30 prepared
Unescaped Output
6
80 escaped
Nonce Checks
1
Capability Checks
4
File Operations
1
External Requests
4
Bundled Libraries
0

Dangerous Functions Found

unserialize$this->cart_details = unserialize( $results->cart_details );classes\Cart.php:565
unserialize$cart_details = unserialize( $cart->cart_details );classes\GdprExporter.php:95

SQL Query Safety

100% prepared30 total queries

Output Escaping

93% escaped86 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
save_licence (CRFW-Plugin-Updater.php:103)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Cart recovery for WordPress Attack Surface

Entry Points2
Unprotected2

AJAX Handlers 2

noprivwp_ajax_crfw_record_cartclasses\Engines\AbstractEngine.php:33
authwp_ajax_crfw_record_cartclasses\Engines\AbstractEngine.php:34
WordPress Hooks 51
actionadmin_initcart-recovery-for-wordpress.php:45
actionadmin_noticescart-recovery-for-wordpress.php:46
actionbefore_woocommerce_initcart-recovery-for-wordpress.php:137
actioninitclasses\Campaigns\AbstractCampaign.php:39
actioncrfw_run_campaignsclasses\Campaigns\AbstractCampaign.php:40
filtercrfw_settings_tabsclasses\Campaigns\SimpleCampaign.php:28
actioncrfw_settings_formclasses\Campaigns\SimpleCampaign.php:29
actionwp_enqueue_scriptsclasses\Engines\AbstractEngine.php:30
actioninitclasses\Engines\AbstractEngine.php:43
actionwp_footerclasses\Engines\AbstractEngine.php:92
filterwp_mail_fromclasses\Engines\AbstractEngine.php:406
filterwp_mail_from_nameclasses\Engines\AbstractEngine.php:407
actionedd_complete_purchaseclasses\Engines\Edd.php:316
actionedd_post_add_to_cartclasses\Engines\Edd.php:326
actionedd_post_remove_from_cartclasses\Engines\Edd.php:327
actionedd_after_set_cart_item_quantityclasses\Engines\Edd.php:328
filtercrfw_js_infoclasses\Engines\RestrictContentPro.php:23
actionrcp_form_processingclasses\Engines\RestrictContentPro.php:319
filtercrfw_log_cart_clickthroughclasses\Engines\RestrictContentPro.php:330
actionadmin_menuclasses\Engines\Woocommerce.php:27
filterwoocommerce_navigation_pages_with_tabsclasses\Engines\Woocommerce.php:28
actionwp_loadedclasses\Engines\Woocommerce.php:205
filterwoocommerce_product_data_store_cpt_get_products_queryclasses\Engines\Woocommerce.php:397
actionwoocommerce_checkout_order_processedclasses\Engines\Woocommerce.php:458
actionwoocommerce_store_api_checkout_order_processedclasses\Engines\Woocommerce.php:459
actionwoocommerce_cart_updatedclasses\Engines\Woocommerce.php:467
actionwoocommerce_store_api_cart_update_customer_from_requestclasses\Engines\Woocommerce.php:469
actionwpsc_purchase_log_saveclasses\Engines\Wpecommerce.php:282
actionwpsc_edit_itemclasses\Engines\Wpecommerce.php:289
actionwpsc_add_itemclasses\Engines\Wpecommerce.php:290
actionwpsc_remove_itemclasses\Engines\Wpecommerce.php:291
filterwp_privacy_personal_data_erasersclasses\GdprEraser.php:13
filterwp_privacy_personal_data_exportersclasses\GdprExporter.php:13
actionplugins_loadedclasses\Main.php:51
actioninitclasses\Main.php:54
actionadmin_initclasses\Main.php:55
actionwp_enqueue_scriptsclasses\Main.php:56
filtercron_schedulesclasses\Main.php:57
filtercrfw_campaign_classesclasses\Main.php:58
actioncrfw_cronclasses\Main.php:159
actionadmin_noticesclasses\Main.php:177
actioncrfw_after_complete_cartclasses\RecoveredCartNotificationEmails.php:41
actioninitclasses\Settings.php:73
actionadmin_menuclasses\Settings.php:76
actionadmin_initclasses\Settings.php:81
actionadmin_initCRFW-Plugin-Updater.php:41
actionadmin_menuCRFW-Plugin-Updater.php:42
filterpre_set_site_transient_update_pluginsEDD_SL_Plugin_Updater.php:58
filterplugins_apiEDD_SL_Plugin_Updater.php:59
actionadmin_initEDD_SL_Plugin_Updater.php:62
filterpre_set_site_transient_update_pluginsEDD_SL_Plugin_Updater.php:174

Scheduled Events 1

crfw_cron
Maintenance & Trust

Cart recovery for WordPress Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 2, 2025
PHP min version7.4
Downloads22K

Community Trust

Rating100/100
Number of ratings6
Active installs100
Developer Profile

Cart recovery for WordPress Developer Profile

Lee Willis

4 plugins · 41K total installs

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

How We Detect Cart recovery for WordPress

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/cart-recovery/css/remodal.css/wp-content/plugins/cart-recovery/css/remodal-default-theme.css/wp-content/plugins/cart-recovery/js/remodal.min.js
Script Paths
/wp-content/plugins/cart-recovery/js/frontend.js
Version Parameters
cart-recovery/css/remodal.css?ver=cart-recovery/css/remodal-default-theme.css?ver=cart-recovery/js/remodal.min.js?ver=cart-recovery/js/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
crfw-remodal-closecrfw-remodal-wrappercrfw-unsubscribe-message-wrapper
Data Attributes
data-remodal-target
JS Globals
crfw_settings
FAQ

Frequently Asked Questions about Cart recovery for WordPress