Multi-Step Checkout for WooCommerce Security & Risk Analysis

wordpress.org/plugins/wp-multi-step-checkout

Split the different sections of the default WooCommerce checkout page into multiple steps. Allow your customers a faster and easier checkout process.

8K active installs v2.34 PHP 5.2.4+ WP 3.0.1+ Updated Dec 2, 2025
checkout-stepsmulti-step-checkoutmultistep-checkoutshop-checkoutwoocommerce
99
A · Safe
CVEs total1
Unpatched0
Last CVEDec 15, 2025
Safety Verdict

Is Multi-Step Checkout for WooCommerce Safe to Use in 2026?

Generally Safe

Score 99/100

Multi-Step Checkout 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: Dec 15, 2025Updated 5mo ago
Risk Assessment

The wp-multi-step-checkout plugin v2.34 exhibits a mixed security posture. On the positive side, it demonstrates good practices by utilizing prepared statements for all SQL queries, having no external HTTP requests, and avoiding file operations or bundled libraries. The presence of nonce and capability checks on its single AJAX entry point is also a strength, indicating an effort to secure direct user interactions. However, a significant concern arises from the output escaping. With 66 total outputs, only 35% are properly escaped, leaving a substantial portion vulnerable to Cross-Site Scripting (XSS) attacks. This is further highlighted by the vulnerability history, which shows a past medium severity XSS vulnerability, suggesting a recurring weakness in handling user-supplied data before rendering it to the user. While there are no currently unpatched vulnerabilities and the attack surface is small, the poor output sanitization is a critical flaw that could be exploited.

Key Concerns

  • Low percentage of properly escaped output
  • Past medium severity XSS vulnerability
Vulnerabilities
1 published

Multi-Step Checkout for WooCommerce Security Vulnerabilities

CVEs by Year

1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2025-67542medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Multi-Step Checkout for WooCommerce <= 2.33 - Authenticated (Administrator+) Stored Cross-Site Scripting

Dec 15, 2025 Patched in 2.34 (5d)
Version History

Multi-Step Checkout for WooCommerce Release Timeline

v2.34Current
v2.331 CVE
v2.321 CVE
v2.30.11 CVE
v2.301 CVE
v2.291 CVE
v2.281 CVE
v2.271 CVE
v2.261 CVE
v2.251 CVE
v2.24.11 CVE
v2.241 CVE
v2.231 CVE
v2.221 CVE
v2.21.11 CVE
v2.211 CVE
v2.201 CVE
v2.191 CVE
v2.181 CVE
v2.171 CVE
Code Analysis
Analyzed Mar 16, 2026

Multi-Step Checkout for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
43
23 escaped
Nonce Checks
2
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

35% escaped66 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

4 flows
admin_settings_page (includes\admin-side.php:69)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Multi-Step Checkout for WooCommerce Attack Surface

Entry Points1
Unprotected0

AJAX Handlers 1

authwp_ajax_sk_dismiss_warningincludes\frm\warnings.php:22
WordPress Hooks 69
actionadmin_menuincludes\admin-side.php:19
actionadmin_enqueue_scriptsincludes\admin-side.php:20
actionwp_enqueue_scriptsincludes\class-wmsc-compatibilities.php:19
actionwp_headincludes\class-wmsc-compatibilities.php:20
actionafter_setup_themeincludes\class-wmsc-compatibilities.php:21
actionwpincludes\class-wmsc-compatibilities.php:22
filterwpmc_modify_stepsincludes\class-wmsc-compatibilities.php:23
filterwoocommerce_locate_templateincludes\class-wmsc-compatibilities.php:24
filterwoocommerce_germanized_filter_templateincludes\class-wmsc-compatibilities.php:25
actionelementor/initincludes\class-wmsc-compatibilities.php:26
actionbefore_woocommerce_initincludes\class-wmsc-compatibilities.php:27
filterwoocommerce_checkout_fieldsincludes\class-wmsc-compatibilities.php:28
filterwoocommerce_checkout_posted_dataincludes\class-wmsc-compatibilities.php:29
filterwoocommerce_registration_error_email_existsincludes\class-wmsc-compatibilities.php:30
actionwoocommerce_check_cart_itemsincludes\class-wmsc-compatibilities.php:31
filterwmsc_settings_adminincludes\class-wmsc-compatibilities.php:32
filterwoocommerce_get_settings_minimum-age-woocommerceincludes\class-wmsc-compatibilities.php:36
filterwmsc_settings_adminincludes\class-wmsc-compatibilities.php:37
filterwpmc_modify_stepsincludes\class-wmsc-compatibilities.php:41
actionwmsc_step_content_minimum_ageincludes\class-wmsc-compatibilities.php:42
filtermininum_age_woo_checkout_hookincludes\class-wmsc-compatibilities.php:43
actionwmsc_buttons_classincludes\class-wmsc-compatibilities.php:194
filterastra_woo_shop_product_structure_overrideincludes\class-wmsc-compatibilities.php:366
actionwoocommerce_checkout_shippingincludes\class-wmsc-compatibilities.php:367
actionwoocommerce_before_shop_loop_itemincludes\class-wmsc-compatibilities.php:369
actionwoocommerce_before_shop_loop_itemincludes\class-wmsc-compatibilities.php:370
actionwoocommerce_after_shop_loop_itemincludes\class-wmsc-compatibilities.php:371
actionwoocommerce_shop_loop_item_titleincludes\class-wmsc-compatibilities.php:372
actionwoocommerce_after_shop_loop_itemincludes\class-wmsc-compatibilities.php:374
filterastra_get_option_checkout-layout-typeincludes\class-wmsc-compatibilities.php:376
filterporto_filter_checkout_versionincludes\class-wmsc-compatibilities.php:383
filterwoocommerce_queued_jsincludes\class-wmsc-compatibilities.php:398
filterwmsc_buttons_classincludes\class-wmsc-compatibilities.php:405
filterwmsc_js_variablesincludes\class-wmsc-compatibilities.php:420
filterwmsc_buttons_classincludes\class-wmsc-compatibilities.php:438
actionwpmc_before_tabsincludes\class-wmsc-compatibilities.php:461
filtertheme_mod_shop_checkout_layoutincludes\class-wmsc-compatibilities.php:505
actionwmsc_step_content_reviewincludes\class-wmsc-compatibilities.php:609
actionwmsc_step_content_paymentincludes\class-wmsc-compatibilities.php:610
actionwpmc-woocommerce_order_reviewincludes\class-wmsc-compatibilities.php:611
filterwc_gzd_checkout_paramsincludes\class-wmsc-compatibilities.php:612
filterwp_loadedincludes\class-wmsc-compatibilities.php:613
actionwmsc_step_content_reviewincludes\class-wmsc-compatibilities.php:618
actionwmsc_step_content_paymentincludes\class-wmsc-compatibilities.php:619
actionwmsc_step_content_reviewincludes\class-wmsc-compatibilities.php:624
actionwmsc_step_content_paymentincludes\class-wmsc-compatibilities.php:625
actionelementor/widget/woocommerce-checkout-page/skins_initincludes\class-wmsc-compatibilities.php:751
filterwpmc_modify_stepsincludes\class-wmsc-compatibilities.php:998
actionwmsc_step_content_woo_deliveryincludes\class-wmsc-compatibilities.php:999
actionplugins_loadedincludes\class-wmsc-compatibilities.php:1066
filterwoocommerce_form_field_argsincludes\elementor-widget-skin.php:46
filterwoocommerce_get_terms_and_conditions_checkbox_textincludes\elementor-widget-skin.php:47
filtergettextincludes\elementor-widget-skin.php:49
actionadmin_noticesincludes\frm\warnings.php:57
actionwpmc_before_tabsincludes\settings-array.php:374
filterwpmc_modify_stepsincludes\settings-array.php:604
actionadmin_noticeswp-multi-step-checkout.php:63
filterwoocommerce_locate_templatewp-multi-step-checkout.php:81
actionwp_enqueue_scriptswp-multi-step-checkout.php:85
actioninitwp-multi-step-checkout.php:87
actionwpmc-woocommerce_order_reviewwp-multi-step-checkout.php:105
actionwpmc-woocommerce_checkout_paymentwp-multi-step-checkout.php:106
actionwpmc-woocommerce_checkout_login_formwp-multi-step-checkout.php:111
actionwpmc-woocommerce_checkout_coupon_formwp-multi-step-checkout.php:112
actionwmsc_step_content_loginwp-multi-step-checkout.php:115
actionwmsc_step_content_shippingwp-multi-step-checkout.php:116
actionwmsc_step_content_billingwp-multi-step-checkout.php:117
filterwmsc_delete_step_by_categorywp-multi-step-checkout.php:119
actioninitwp-multi-step-checkout.php:249
Maintenance & Trust

Multi-Step Checkout for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedDec 2, 2025
PHP min version5.2.4
Downloads427K

Community Trust

Rating90/100
Number of ratings49
Active installs8K
Developer Profile

Multi-Step Checkout for WooCommerce Developer Profile

SilkyPress

5 plugins · 729K total installs

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

How We Detect Multi-Step Checkout 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/wp-multi-step-checkout/assets/css/style-progress.css/wp-content/plugins/wp-multi-step-checkout/assets/js/script.js
Script Paths
/wp-content/plugins/wp-multi-step-checkout/assets/js/script.js
Version Parameters
wp-multi-step-checkout/assets/css/style-progress.css?ver=wp-multi-step-checkout/assets/js/script.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpmc-tabs-wrapperwpmc-tab-itemwpmc-tab-numberwpmc-tabs-list
JS Globals
WPMC
FAQ

Frequently Asked Questions about Multi-Step Checkout for WooCommerce