# Kadence Blocks <= 3.7.12 - Authenticated (Contributor+) Stored Cross-Site Scripting via Posts Block Title Heading Level

- **ID:** WPSEC-2026-0597
- **Plugin:** Kadence Blocks — Page Builder Toolkit for Gutenberg Editor (`kadence-blocks`), https://wordpress.org/plugins/kadence-blocks/
- **Affected versions:** from 1.10.3 before 3.7.12.1
- **Fixed in:** 3.7.12.1 (Update to 3.7.12.1 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 High, affected versions High (as of 2026-10-07)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/kadence-blocks
- **Fix released:** 2026-10-06
- **Published:** 2026-10-07
- **URL:** https://wpsec.com/vuln/WPSEC-2026-0597/

## Description

The Kadence Blocks plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the Posts block's title heading level attribute in versions 1.10.3 up to, and including, 3.7.12. This is due to the attribute being concatenated into the element name of each post title's heading without validation; escaping the tag name with esc_attr() does not prevent spaces and additional attributes. The Count Up block's title tag and heading level attributes are affected in the same way on sites where its server-side rendering is enabled through the 'kadence-blocks-countup-static' filter. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

## References

- https://wpsec.com/vuln/WPSEC-2026-0597/
- https://plugins.svn.wordpress.org/kadence-blocks/tags/3.7.12.1/
- https://wordpress.org/plugins/kadence-blocks/

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

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.
