CVE-2024-0598 — Gutenberg Blocks by Kadence Blocks <= 3.2.17 Editor+ Stored Cross-Site Scritpting via Slider Callback
The Gutenberg Blocks by Kadence Blocks – Page Builder Features plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the contact form message settings in all versions up to and including 3.2.17 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with editor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This primarily affects multi-site installations and installations where unfiltered_html has been disabled.
The plugin provides a feature to customize “Message Settings” that means alert message that shown after form is submitted. These input is not sanitized, causing an XSS vulnerability.
Proof of Concepts
- Create New Post
- Add “Form (Adv)” block then Create New form
- Select “Contact” form and so on until the form is shown in your page
- On your sidebar, there’s Message Settings which a setting for message after form being submitted.
- Put XSS payload on “Success Message”
<img src onerror=alert(/XSS/)>
Open the created post and fill the form. XSS Payload will triggered after you submit the form.
Impact
This makes it possible for authenticated attackers, with Editor-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.