Return Refund and Exchange For WooCommerce Security & Risk Analysis

wordpress.org/plugins/woo-refund-and-exchange-lite

Provide an easy refund service and increase customer satisfaction with WooCommerce Return Refund, and Exchange Warranty Management Plugin.

5K active installs v4.5.8 PHP 7.2+ WP 6.7.0+ Updated Feb 17, 2026
exchangerefundrmawalletwoocommerce-cancel-order
92
A · Safe
CVEs total5
Unpatched0
Last CVENov 20, 2025
Safety Verdict

Is Return Refund and Exchange For WooCommerce Safe to Use in 2026?

Generally Safe

Score 92/100

Return Refund and Exchange For WooCommerce has a strong security track record. Known vulnerabilities have been patched promptly.

5 known CVEsLast CVE: Nov 20, 2025Updated 1mo ago
Risk Assessment

The "woo-refund-and-exchange-lite" plugin v4.5.8 presents a mixed security posture. While the static analysis indicates good practices in output escaping and a lack of critical taint flows, there are significant concerns regarding its attack surface and historical vulnerability patterns.

A major weakness lies in the substantial number of AJAX handlers (21 out of 23) that lack authentication checks. This exposes a large portion of the plugin's functionality to potential exploitation by unauthenticated users, which could lead to unauthorized actions or information disclosure. Although no critical taint flows were identified, the presence of raw SQL queries without prepared statements, combined with the lack of authentication on numerous entry points, creates a fertile ground for potential SQL injection vulnerabilities. The plugin's history of 5 CVEs, including high-severity authorization bypass and sensitive information exposure, further amplifies these concerns, suggesting recurring security weaknesses.

Despite the current lack of unpatched CVEs and a relatively clean taint analysis, the plugin's extensive unprotected attack surface and historical security incidents warrant caution. The good output escaping is a positive sign, but it does not fully mitigate the risks posed by the authorization flaws and the potential for SQL injection due to raw queries. Users should be aware of these ongoing risks, especially given the plugin's past.

Key Concerns

  • High number of AJAX handlers without auth checks
  • SQL queries without prepared statements
  • Historical CVEs (5 total, 1 high)
  • Missing nonce checks on AJAX handlers
  • Limited capability checks on entry points
Vulnerabilities
5

Return Refund and Exchange For WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
4 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

High
1
Medium
4

5 total CVEs

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

Return Refund and Exchange For WooCommerce <= 4.5.5 - Insecure Direct Object Reference to Authenticated (Subscriber+) Refund Request Cancellation

Nov 20, 2025 Patched in 4.5.6 (1d)
CVE-2025-12881medium · 5.4Authorization Bypass Through User-Controlled Key

Return Refund and Exchange For WooCommerce <= 4.5.5 - Insecure Direct Object Reference to Authenticated (Subscriber+) Arbitrary Order Message Read

Nov 20, 2025 Patched in 4.5.6 (1d)
CVE-2024-13692medium · 5.4Improper Authorization

Return Refund and Exchange For WooCommerce <= 4.4.5 - Authenticated (Subscriber+) Insecure Direct Object Reference

Feb 13, 2025 Patched in 4.4.6 (1d)
CVE-2024-13641medium · 5.9Exposure of Sensitive Information to an Unauthorized Actor

Return Refund and Exchange For WooCommerce <= 4.4.5 - Unauthenticated Sensitive Information Exposure Through Unprotected Directory

Feb 13, 2025 Patched in 4.4.6 (1d)
CVE-2022-4047high · 8.8Unrestricted Upload of File with Dangerous Type

Return Refund and Exchange For WooCommerce <= 4.0.8 - Arbitrary File Upload

Nov 25, 2022 Patched in 4.0.9 (424d)
Code Analysis
Analyzed Mar 16, 2026

Return Refund and Exchange For WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
2
0 prepared
Unescaped Output
30
797 escaped
Nonce Checks
21
Capability Checks
5
File Operations
0
External Requests
3
Bundled Libraries
2

Bundled Libraries

DataTablesSelect2

SQL Query Safety

0% prepared2 total queries

Output Escaping

96% escaped827 total outputs
Data Flows
All sanitized

Data Flow Analysis

12 flows
wrael_admin_save_tab_settings (admin\class-woo-refund-and-exchange-lite-admin.php:456)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
21 unprotected

Return Refund and Exchange For WooCommerce Attack Surface

Entry Points28
Unprotected21

AJAX Handlers 23

authwp_ajax_wps_rma_send_onboarding_dataincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:124
noprivwp_ajax_wps_rma_send_onboarding_dataincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:125
authwp_ajax_wrael_skip_onboarding_popupincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:128
noprivwp_ajax_wrael_skip_onboarding_popupincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:129
authwp_ajax_wps_rma_return_req_approveincludes\class-woo-refund-and-exchange-lite.php:220
authwp_ajax_wps_rma_return_req_cancelincludes\class-woo-refund-and-exchange-lite.php:221
authwp_ajax_wps_rma_manage_stockincludes\class-woo-refund-and-exchange-lite.php:222
authwp_ajax_wps_rma_api_secret_keyincludes\class-woo-refund-and-exchange-lite.php:223
authwp_ajax_wps_rma_refund_amountincludes\class-woo-refund-and-exchange-lite.php:228
authwp_ajax_wps_rma_dismiss_notice_bannerincludes\class-woo-refund-and-exchange-lite.php:281
authwp_ajax_wps_rma_validate_license_keyincludes\class-woo-refund-and-exchange-lite.php:299
authwp_ajax_wps_rma_return_upload_filesincludes\class-woo-refund-and-exchange-lite.php:305
noprivwp_ajax_wps_rma_return_upload_filesincludes\class-woo-refund-and-exchange-lite.php:306
authwp_ajax_wps_rma_save_return_requestincludes\class-woo-refund-and-exchange-lite.php:309
noprivwp_ajax_wps_rma_save_return_requestincludes\class-woo-refund-and-exchange-lite.php:310
authwp_ajax_wps_standard_save_settings_filterincludes\class-woo-refund-and-exchange-lite.php:330
noprivwp_ajax_wps_standard_save_settings_filterincludes\class-woo-refund-and-exchange-lite.php:331
authwp_ajax_wps_rma_cancel_return_requestincludes\class-woo-refund-and-exchange-lite.php:338
noprivwp_ajax_wps_rma_cancel_return_requestincludes\class-woo-refund-and-exchange-lite.php:339
authwp_ajax_wps_rma_fetch_order_msgsincludes\class-woo-refund-and-exchange-lite.php:342
noprivwp_ajax_wps_rma_fetch_order_msgsincludes\class-woo-refund-and-exchange-lite.php:343
authwp_ajax_wps_rma_send_order_msgincludes\class-woo-refund-and-exchange-lite.php:344
noprivwp_ajax_wps_rma_send_order_msgincludes\class-woo-refund-and-exchange-lite.php:345

REST API Routes 3

POST/wp-json/rmarefund-requestpackage\rest-api\class-woo-refund-and-exchange-lite-rest-api.php:75
POST/wp-json/rmarefund-request-acceptpackage\rest-api\class-woo-refund-and-exchange-lite-rest-api.php:84
POST/wp-json/rmarefund-request-cancelpackage\rest-api\class-woo-refund-and-exchange-lite-rest-api.php:93

Shortcodes 2

[wps_rma_refund_form] wp-bakery-widgets\class-wps-rma-vc-widgets.php:34
[wps_rma_order_msg] wp-bakery-widgets\class-wps-rma-vc-widgets.php:35
WordPress Hooks 66
actionadmin_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:115
actionadmin_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:116
actionadmin_footerincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:117
actionadmin_footerincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:118
filterwps_rma_on_boarding_form_fieldsincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:120
filterwps_rma_deactivation_form_fieldsincludes\class-woo-refund-and-exchange-lite-onboarding-steps.php:121
actionplugins_loadedincludes\class-woo-refund-and-exchange-lite.php:170
actionadmin_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite.php:193
actionadmin_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite.php:194
actionadmin_menuincludes\class-woo-refund-and-exchange-lite.php:197
actionadmin_menuincludes\class-woo-refund-and-exchange-lite.php:198
filterwps_add_plugins_menus_arrayincludes\class-woo-refund-and-exchange-lite.php:201
filterwrael_general_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:202
actionwps_rma_settings_saved_noticeincludes\class-woo-refund-and-exchange-lite.php:205
actionwrael_developer_admin_hooks_arrayincludes\class-woo-refund-and-exchange-lite.php:208
actionwrael_developer_public_hooks_arrayincludes\class-woo-refund-and-exchange-lite.php:209
filterwps_rma_refund_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:212
filterwps_rma_order_message_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:213
filterwps_rma_api_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:214
actionadd_meta_boxesincludes\class-woo-refund-and-exchange-lite.php:217
actionwps_rma_settings_saved_noticeincludes\class-woo-refund-and-exchange-lite.php:226
actionadmin_menuincludes\class-woo-refund-and-exchange-lite.php:230
filterwps_rma_plugin_admin_settings_tabs_addon_beforeincludes\class-woo-refund-and-exchange-lite.php:246
filterwps_rma_plugin_admin_settings_tabs_addon_afterincludes\class-woo-refund-and-exchange-lite.php:247
filterwps_rma_refund_setting_extendincludes\class-woo-refund-and-exchange-lite.php:249
filterwps_rma_exchange_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:251
filterwps_rma_general_setting_extendincludes\class-woo-refund-and-exchange-lite.php:253
filterwps_rma_cancel_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:255
filterwps_rma_wallet_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:257
filterwps_rma_refund_appearance_setting_extendincludes\class-woo-refund-and-exchange-lite.php:259
filterwps_rma_order_message_setting_extendincludes\class-woo-refund-and-exchange-lite.php:261
filterwps_rma_sms_notification_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:263
filterwps_rma_whatsapp_notification_settings_arrayincludes\class-woo-refund-and-exchange-lite.php:265
actionwps_rma_setting_extend_column5includes\class-woo-refund-and-exchange-lite.php:269
actionwps_rma_setting_extend_show_column5includes\class-woo-refund-and-exchange-lite.php:270
actionwps_rma_setting_extend_show_column1includes\class-woo-refund-and-exchange-lite.php:273
actionwps_rma_setting_extend_show_column3includes\class-woo-refund-and-exchange-lite.php:274
actionwps_rma_setting_extend_column1includes\class-woo-refund-and-exchange-lite.php:275
actionwps_rma_setting_extend_column3includes\class-woo-refund-and-exchange-lite.php:276
actionadmin_initincludes\class-woo-refund-and-exchange-lite.php:279
actionwps_wgm_check_for_notification_updateincludes\class-woo-refund-and-exchange-lite.php:280
actionwp_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite.php:293
actionwp_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite.php:295
actionadmin_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite.php:296
filterwoocommerce_email_classesincludes\class-woo-refund-and-exchange-lite.php:302
actioninitincludes\class-woo-refund-and-exchange-lite.php:313
filterwc_order_statusesincludes\class-woo-refund-and-exchange-lite.php:314
actioninitincludes\class-woo-refund-and-exchange-lite.php:317
actionwps_rma_refund_req_emailincludes\class-woo-refund-and-exchange-lite.php:320
actionwp_initialize_siteincludes\class-woo-refund-and-exchange-lite.php:323
actionwps_rma_refund_req_accept_emailincludes\class-woo-refund-and-exchange-lite.php:326
actionwps_rma_refund_req_cancel_emailincludes\class-woo-refund-and-exchange-lite.php:327
actionwpswings_tracker_send_eventincludes\class-woo-refund-and-exchange-lite.php:333
filterwoocommerce_order_queryincludes\class-woo-refund-and-exchange-lite.php:336
actionwp_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite.php:358
actionwp_enqueue_scriptsincludes\class-woo-refund-and-exchange-lite.php:359
filterwoocommerce_my_account_my_orders_actionsincludes\class-woo-refund-and-exchange-lite.php:361
actionwoocommerce_order_details_after_order_tableincludes\class-woo-refund-and-exchange-lite.php:362
filtertemplate_includeincludes\class-woo-refund-and-exchange-lite.php:365
actionrest_api_initincludes\class-woo-refund-and-exchange-lite.php:376
actionbefore_woocommerce_initwoocommerce-refund-and-exchange-lite.php:127
filterplugin_row_metawoocommerce-refund-and-exchange-lite.php:211
actionadmin_noticeswoocommerce-refund-and-exchange-lite.php:272
actionadmin_initwoocommerce-refund-and-exchange-lite.php:325
actionnetwork_admin_noticeswoocommerce-refund-and-exchange-lite.php:337
actionadmin_noticeswoocommerce-refund-and-exchange-lite.php:338

Scheduled Events 3

wps_wgm_check_for_notification_update
wpswings_tracker_send_event
wpswings_tracker_send_event
Maintenance & Trust

Return Refund and Exchange For WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 17, 2026
PHP min version7.2
Downloads222K

Community Trust

Rating94/100
Number of ratings121
Active installs5K
Developer Profile

Return Refund and Exchange For WooCommerce Developer Profile

WP Swings

13 plugins · 43K total installs

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

How We Detect Return Refund and Exchange 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-refund-and-exchange-lite/assets/css/woocommerce-product-table.css/wp-content/plugins/woo-refund-and-exchange-lite/assets/css/woo-refund-and-exchange-lite-admin.css/wp-content/plugins/woo-refund-and-exchange-lite/assets/css/woo-refund-and-exchange-lite-public.css/wp-content/plugins/woo-refund-and-exchange-lite/assets/css/woo-refund-and-exchange-lite-public-rtl.css/wp-content/plugins/woo-refund-and-exchange-lite/assets/js/woo-refund-and-exchange-lite-admin.js/wp-content/plugins/woo-refund-and-exchange-lite/assets/js/woo-refund-and-exchange-lite-public.js/wp-content/plugins/woo-refund-and-exchange-lite/assets/js/woo-refund-and-exchange-lite-public-rtl.js
Version Parameters
woo-refund-and-exchange-lite/assets/css/woocommerce-product-table.css?ver=woo-refund-and-exchange-lite/assets/css/woo-refund-and-exchange-lite-admin.css?ver=woo-refund-and-exchange-lite/assets/css/woo-refund-and-exchange-lite-public.css?ver=woo-refund-and-exchange-lite/assets/css/woo-refund-and-exchange-lite-public-rtl.css?ver=woo-refund-and-exchange-lite/assets/js/woo-refund-and-exchange-lite-admin.js?ver=woo-refund-and-exchange-lite/assets/js/woo-refund-and-exchange-lite-public.js?ver=woo-refund-and-exchange-lite/assets/js/woo-refund-and-exchange-lite-public-rtl.js?ver=

HTML / DOM Fingerprints

CSS Classes
wps-rma-request-formwps_rma_dashboardwps_rma_product_selectwps_rma_order_selectwps_rma_reason_selectwps_rma_file_uploadwps_rma_product_select_optionwps_rma_reason_select_option
HTML Comments
<!-- WooCommerce Refund And Exchange Lite Plugin By WP Swings -->
Data Attributes
data-wps-rma-product-iddata-wps-rma-order-iddata-wps-rma-reason-id
JS Globals
wps_rma_params
FAQ

Frequently Asked Questions about Return Refund and Exchange For WooCommerce