Wishlist and Save for later for Woocommerce Security & Risk Analysis

wordpress.org/plugins/aco-wishlist-for-woocommerce

Wishlist for WooCommerce helps to manage Wishlist and save for later feature in a WooCommerce store

80 active installs v1.1.25 PHP + WP 4.0+ Updated Mar 4, 2026
save-for-laterwishlistwishlist-for-woocommercewoocommercewoocommerce-wishlist
99
A · Safe
CVEs total1
Unpatched0
Last CVENov 11, 2025
Safety Verdict

Is Wishlist and Save for later for Woocommerce Safe to Use in 2026?

Generally Safe

Score 99/100

Wishlist and Save for later 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: Nov 11, 2025Updated 2mo ago
Risk Assessment

The aco-wishlist-for-woocommerce plugin v1.1.25 exhibits a mixed security posture. While it demonstrates good practices like using prepared statements for all SQL queries and avoiding external HTTP requests, significant concerns arise from its attack surface and the presence of dangerous functions. A substantial portion of its AJAX handlers (12 out of 14) lack authentication checks, creating a considerable entry point for potential exploits. The discovery of the `unserialize` function, a known vector for remote code execution if not handled with extreme care and validation, is also a notable risk. Although the plugin has no currently unpatched vulnerabilities, its history includes a medium-severity vulnerability related to authorization bypass, suggesting a pattern of past security weaknesses. The combination of a large, unprotected attack surface and the use of potentially dangerous functions outweighs the strengths, indicating a moderate to high risk that warrants immediate attention and remediation.

Key Concerns

  • Large number of unprotected AJAX handlers
  • Presence of unserialize function
  • Medium severity historical vulnerability
  • Missing nonce checks on AJAX
  • Low percentage of properly escaped output
Vulnerabilities
1 published

Wishlist and Save for later for Woocommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-12087medium · 4.3Authorization Bypass Through User-Controlled Key

Wishlist and Save for later for Woocommerce <= 1.1.22 - Insecure Direct Object Reference to Authenticated (Subscriber+) Wishlist Item Deletion

Nov 11, 2025 Patched in 1.1.23 (1d)
Version History

Wishlist and Save for later for Woocommerce Release Timeline

v1.1.25Current
v1.1.24
v1.1.23
v1.1.221 CVE
v1.1.211 CVE
v1.1.201 CVE
v1.1.191 CVE
v1.1.181 CVE
v1.1.171 CVE
v1.1.161 CVE
v1.1.151 CVE
v1.1.141 CVE
v1.1.131 CVE
v1.1.121 CVE
v1.1.111 CVE
v1.1.101 CVE
v1.1.91 CVE
v1.1.81 CVE
v1.1.71 CVE
v1.1.61 CVE
Code Analysis
Analyzed Mar 16, 2026

Wishlist and Save for later for Woocommerce Code Analysis

Dangerous Functions
3
Raw SQL Queries
0
0 prepared
Unescaped Output
55
124 escaped
Nonce Checks
0
Capability Checks
9
File Operations
0
External Requests
0
Bundled Libraries
0

Dangerous Functions Found

unserialize$item_data = unserialize($item_data);includes\class-awwlm-woocommerce-custom-product-addons.php:71
unserialize$item_data = unserialize($item_data);includes\class-awwlm-woocommerce-custom-product-addons.php:87
unserialize$formData = unserialize($formData);includes\class-awwlm-woocommerce-custom-product-addons.php:381

Output Escaping

69% escaped179 total outputs
Attack Surface
12 unprotected

Wishlist and Save for later for Woocommerce Attack Surface

Entry Points25
Unprotected12

AJAX Handlers 14

authwp_ajax_awwlm_add_to_wishlistincludes\class-awwlm-front-end.php:66
noprivwp_ajax_awwlm_add_to_wishlistincludes\class-awwlm-front-end.php:67
authwp_ajax_awwlm_remove_wishlistincludes\class-awwlm-front-end.php:68
noprivwp_ajax_awwlm_remove_wishlistincludes\class-awwlm-front-end.php:69
authwp_ajax_awwlm_variation_wishlistincludes\class-awwlm-front-end.php:70
noprivwp_ajax_awwlm_variation_wishlistincludes\class-awwlm-front-end.php:71
authwp_ajax_awwlm_remove_added_wishlist_pageincludes\class-awwlm-front-end.php:73
noprivwp_ajax_awwlm_remove_added_wishlist_pageincludes\class-awwlm-front-end.php:74
authwp_ajax_awwlm_action_add_to_savelistincludes\class-awwlm-save-for-later.php:38
noprivwp_ajax_awwlm_action_add_to_savelistincludes\class-awwlm-save-for-later.php:39
authwp_ajax_awwlm_action_remove_savelistincludes\class-awwlm-save-for-later.php:41
noprivwp_ajax_awwlm_action_remove_savelistincludes\class-awwlm-save-for-later.php:42
authwp_ajax_awwlm_action_addcart_savelistincludes\class-awwlm-save-for-later.php:44
noprivwp_ajax_awwlm_action_addcart_savelistincludes\class-awwlm-save-for-later.php:45

REST API Routes 8

POST/wp-json/awwlm/v1/awwlm_general_settings/includes\class-awwlm-api.php:29
GET/wp-json/awwlm/v1/awwlm_general_settings/(?P<id>\d+)includes\class-awwlm-api.php:34
POST/wp-json/awwlm/v1/awwlm_add_to_wishlist/includes\class-awwlm-api.php:40
GET/wp-json/awwlm/v1/awwlm_add_to_wishlist/(?P<id>\d+)includes\class-awwlm-api.php:45
POST/wp-json/awwlm/v1/awwlm_wishlist_page/includes\class-awwlm-api.php:51
GET/wp-json/awwlm/v1/awwlm_wishlist_page/(?P<id>\d+)includes\class-awwlm-api.php:56
POST/wp-json/awwlm/v1/save_for_later_page/includes\class-awwlm-api.php:62
GET/wp-json/awwlm/v1/save_for_later_page/(?P<id>\d+)includes\class-awwlm-api.php:67

Shortcodes 3

[awwlm_wishlist] includes\class-awwlm-front-end.php:247
[awwlm_add_to_wishlist] includes\class-awwlm-front-end.php:248
[awwlm_saved_list] includes\class-awwlm-save-for-later.php:284
WordPress Hooks 35
actionrest_api_initincludes\class-awwlm-api.php:27
actionadmin_menuincludes\class-awwlm-backend.php:92
actionadmin_enqueue_scriptsincludes\class-awwlm-backend.php:94
actionadmin_enqueue_scriptsincludes\class-awwlm-backend.php:95
actionadmin_footerincludes\class-awwlm-backend.php:101
actionwp_enqueue_scriptsincludes\class-awwlm-front-end.php:54
actionwp_enqueue_scriptsincludes\class-awwlm-front-end.php:55
actioninitincludes\class-awwlm-front-end.php:57
actioninitincludes\class-awwlm-front-end.php:58
actioninitincludes\class-awwlm-front-end.php:60
filterquery_varsincludes\class-awwlm-front-end.php:61
actionwoocommerce_before_customer_login_formincludes\class-awwlm-front-end.php:63
actionwp_loginincludes\class-awwlm-front-end.php:64
actionwoocommerce_add_to_cartincludes\class-awwlm-front-end.php:76
filterwoocommerce_post_classincludes\class-awwlm-front-end.php:78
filterwoocommerce_account_menu_itemsincludes\class-awwlm-front-end.php:82
filterwoocommerce_get_endpoint_urlincludes\class-awwlm-front-end.php:83
filterwoocommerce_loop_add_to_cart_argsincludes\class-awwlm-front-end.php:1168
filterwoocommerce_product_add_to_cart_textincludes\class-awwlm-front-end.php:1169
filterwoocommerce_product_add_to_cart_urlincludes\class-awwlm-front-end.php:1170
actioninitincludes\class-awwlm-save-for-later.php:28
actionwoocommerce_after_cart_item_nameincludes\class-awwlm-save-for-later.php:29
actionwoocommerce_after_cartincludes\class-awwlm-save-for-later.php:34
actionwoocommerce_cart_is_emptyincludes\class-awwlm-save-for-later.php:35
actionawwlm_savelist_item_add_to_cartincludes\class-awwlm-save-for-later.php:47
actioninitincludes\class-awwlm-wishlist.php:30
actioninitincludes\class-awwlm-wishlist.php:31
filterawwlm_wishlist_item_meta_dataincludes\class-awwlm-woocommerce-custom-product-addons.php:35
filterawwlm_wishlist_item_priceincludes\class-awwlm-woocommerce-custom-product-addons.php:36
filterawwlm_wishlist_item_add_to_cartincludes\class-awwlm-woocommerce-custom-product-addons.php:37
filterawwlm_wishlist_item_action_add_to_cartincludes\class-awwlm-woocommerce-custom-product-addons.php:39
actionwp_footerincludes\class-awwlm-woocommerce-custom-product-addons.php:41
actionwoocommerce_after_add_to_cart_buttonincludes\class-awwlm-woocommerce-custom-product-addons.php:42
actionplugins_loadedstart.php:61
actionbefore_woocommerce_initstart.php:70
Maintenance & Trust

Wishlist and Save for later for Woocommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 4, 2026
PHP min version
Downloads10K

Community Trust

Rating86/100
Number of ratings8
Active installs80
Developer Profile

Wishlist and Save for later for Woocommerce Developer Profile

acowebs

14 plugins · 74K total installs

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

How We Detect Wishlist and Save for later 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/aco-wishlist-for-woocommerce/assets/css/backend.css/wp-content/plugins/aco-wishlist-for-woocommerce/assets/js/frontend.js/wp-content/plugins/aco-wishlist-for-woocommerce/assets/js/backend.js/wp-content/plugins/aco-wishlist-for-woocommerce/assets/js/frontend.min.js/wp-content/plugins/aco-wishlist-for-woocommerce/assets/js/backend.min.js
Script Paths
/wp-content/plugins/aco-wishlist-for-woocommerce/assets/js/frontend.js/wp-content/plugins/aco-wishlist-for-woocommerce/assets/js/backend.js
Version Parameters
aco-wishlist-for-woocommerce/assets/css/backend.css?ver=aco-wishlist-for-woocommerce/assets/js/frontend.js?ver=aco-wishlist-for-woocommerce/assets/js/backend.js?ver=

HTML / DOM Fingerprints

CSS Classes
awwlm-add-to-wishlist
Data Attributes
data-awwlm-product-id
JS Globals
AWWLM_DATA
REST Endpoints
/wp-json/awwlm/v1/add/wp-json/awwlm/v1/remove/wp-json/awwlm/v1/get
FAQ

Frequently Asked Questions about Wishlist and Save for later for Woocommerce