# WP Tabs – Responsive Tabs Plugin for WordPress <= 3.1.7 - Authenticated (Contributor+) Stored Cross-Site Scripting via Tab Group Meta

- **ID:** WPSEC-2026-2038
- **Plugin:** Custom Product Tabs for WooCommerce & WordPress Tabs Builder – Smart Tabs (`wp-expand-tabs-free`), https://wordpress.org/plugins/wp-expand-tabs-free/
- **Affected versions:** all versions before 3.1.8
- **Fixed in:** 3.1.8 (Update to 3.1.8 or later.)
- **Severity:** Medium 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Medium, affected versions Medium (as of 2026-10-30)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/wp-expand-tabs-free
- **Fix released:** 2026-10-29
- **Published:** 2026-10-30
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2038/

## Description

The Smart Tabs plugin for WordPress is vulnerable to Stored Cross-Site Scripting via tab group metadata in all versions up to, and including, 3.1.7. This is due to the plugin's tab group post types using the default post capabilities instead of the plugin's administrator capability, so lower-privileged users can create tab groups and set their metadata directly. The [wptabs] shortcode then prints the tab content and style values from that metadata without escaping, and it renders unpublished tab groups too. This makes it possible for authenticated attackers with contributor-level access and above to inject arbitrary web scripts in pages that execute whenever a user accesses an injected page.

## References

- https://wpsec.com/vuln/WPSEC-2026-2038/
- https://plugins.svn.wordpress.org/wp-expand-tabs-free/tags/3.1.8/
- https://wordpress.org/plugins/wp-expand-tabs-free/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2038/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
