# GutenKit <= 2.5.4 - Authenticated (Author+) Stored Cross-Site Scripting via Custom CSS

- **ID:** WPSEC-2026-2217
- **Plugin:** GutenKit – Page Builder Blocks, Patterns, and Templates for Gutenberg Block Editor (`gutenkit-blocks-addon`), https://wordpress.org/plugins/gutenkit-blocks-addon/
- **Affected versions:** all versions before 2.5.5
- **Fixed in:** 2.5.5 (Update to 2.5.5 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-11-03)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/gutenkit-blocks-addon
- **Fix released:** 2026-11-01
- **Published:** 2026-11-03
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2217/

## Description

The GutenKit plugin for WordPress is vulnerable to Stored Cross-Site Scripting via stored custom CSS (the 'postBodyCss' page settings meta and GutenKit block CSS attributes) in all versions up to, and including, 2.5.4, due to an insufficient CSS sanitizer that removes dangerous keywords in a single pass, so nested keywords collapse into a closing '</style>' tag when they are removed. This makes it possible for authenticated attackers, with author-level access and above, to break out of the inline style block and inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

## References

- https://wpsec.com/vuln/WPSEC-2026-2217/
- https://plugins.svn.wordpress.org/gutenkit-blocks-addon/tags/2.5.5/
- https://wordpress.org/plugins/gutenkit-blocks-addon/

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

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.
