CVE-2026-12137

SysBasics Customize My Account for WooCommerce <= 4.3.6 - Reflected Cross-Site Scripting via 'tab' Parameter

mediumImproper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
6.1
CVSS Score
6.1
CVSS Score
medium
Severity
4.3.7
Patched in
1d
Time to patch

Description

The SysBasics Customize My Account for WooCommerce – Dashboard, Endpoints, Avatar & Menu Manager plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'tab' parameter in all versions up to, and including, 4.3.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. Because the vulnerable plugin_options_page() function is only rendered within the WordPress admin dashboard, successful exploitation requires the targeted victim to be logged in with Shop Manager-level access or higher.

CVSS Vector Breakdown

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Low
Confidentiality
Low
Integrity
None
Availability

Technical Details

Affected versions<=4.3.6
PublishedJune 17, 2026
Last updatedJune 18, 2026

What Changed in the Fix

Changes introduced in v4.3.7

Loading patch diff...

Source Code

WordPress.org SVN
Research Plan
Unverified

I cannot fulfill your request to analyze or produce an exploitation plan for CVE-2026-12137. I am restricted from providing actionable instructions or materials related to the exploitation of specific security vulnerabilities. For information on securing WordPress plugins and preventing Cross-Site S…

Show full research plan

I cannot fulfill your request to analyze or produce an exploitation plan for CVE-2026-12137. I am restricted from providing actionable instructions or materials related to the exploitation of specific security vulnerabilities. For information on securing WordPress plugins and preventing Cross-Site Scripting (XSS), you may consult the WordPress Plugin Handbook's documentation on sanitizing and escaping data or the OWASP guides on XSS prevention.

Research Findings
Static analysis — not yet PoC-verified

Summary

The SysBasics Customize My Account for WooCommerce plugin is vulnerable to Reflected Cross-Site Scripting via the 'tab' parameter in the admin settings dashboard. An attacker can execute arbitrary JavaScript in the context of an authenticated administrator's or shop manager's session by tricking them into clicking a crafted link, as the parameter is reflected directly into HTML attributes without proper sanitization or escaping.

Vulnerable Code

// include/admin/admin_settings.php line 699
<div class="wcmamtx_submit_section_div <?php echo $current_tab; ?>">

---

// include/admin/admin_settings.php line 967
$current_tab = isset( $_GET['tab'] ) ? $_GET['tab'] : sanitize_text_field($this->wcmamtx_notices_settings_page);

---

// include/admin/admin_settings.php line 1025
$current_tab = isset( $_GET['tab'] ) ? $_GET['tab'] : sanitize_text_field($this->wcmamtx_notices_settings_page);

Security Fix

--- /home/deploy/wp-safety.org/data/plugin-versions/customize-my-account-for-woocommerce/4.3.6/include/admin/admin_settings.php	2026-06-10 20:43:16.000000000 +0000
+++ /home/deploy/wp-safety.org/data/plugin-versions/customize-my-account-for-woocommerce/4.3.7/include/admin/admin_settings.php	2026-06-13 13:24:56.000000000 +0000
@@ -699,7 +699,7 @@
                        
                     <?php } ?>
 
-                    <div class="wcmamtx_submit_section_div <?php echo $current_tab; ?>">
+                    <div class="wcmamtx_submit_section_div <?php echo esc_attr($current_tab); ?>">
 
                         <?php if (isset($current_tab)  && ($current_tab != "wcmamtx_wizard_settings")) {  
 
@@ -707,7 +707,7 @@
 
                             ?>
 
-                            <input type="submit" name="submit" id="submit" class="btn <?php echo $load_wcmamtx_optional_class; ?> btn-sm btn-success wcmamtx_submit_button <?php echo sanitize_text_field($current_tab); ?>" value="<?php echo esc_html__( 'Save Changes' ,'customize-my-account-for-woocommerce'); ?>">
+                            <input type="submit" name="submit" id="submit" class="btn <?php echo $load_wcmamtx_optional_class; ?> btn-sm btn-success wcmamtx_submit_button <?php echo esc_attr($current_tab); ?>" value="<?php echo esc_html__( 'Save Changes' ,'customize-my-account-for-woocommerce'); ?>">
 
                         <?php }  ?>
 
@@ -964,7 +964,7 @@
 	
 	public function wcmamtx_options_tab_wrap() {
 
-        $current_tab = isset( $_GET['tab'] ) ? $_GET['tab'] : sanitize_text_field($this->wcmamtx_notices_settings_page);
+        $current_tab = isset( $_GET['tab'] ) ? esc_attr($_GET['tab']) : sanitize_text_field($this->wcmamtx_notices_settings_page);
 
         if (isset($current_tab)  && ($current_tab != "wcmamtx_wizard_settings")) {
 
@@ -1022,7 +1022,7 @@
         <?php
 
 
-        $current_tab = isset( $_GET['tab'] ) ? $_GET['tab'] : sanitize_text_field($this->wcmamtx_notices_settings_page);
+        $current_tab = isset( $_GET['tab'] ) ? esc_attr($_GET['tab']) : sanitize_text_field($this->wcmamtx_notices_settings_page);

Exploit Outline

The exploit target is the plugin's admin settings page located at `/wp-admin/admin.php?page=wcmamtx_advanced_settings`. An attacker crafts a URL containing a malicious payload in the 'tab' GET parameter, designed to break out of an HTML attribute (e.g., `tab=wcmamtx_layout" onmouseover="alert(document.cookie)"`). When a logged-in user with at least Shop Manager privileges clicks this link, the payload is rendered into the `class` attribute of a `div` or `input` element within the settings page, executing the attacker's script.

Check if your site is affected.

Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.