DesignSetGo <= 2.11.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'tagName' Block Attribute
Impact
The DesignSetGo plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'tagName' parameter in all versions up to, and including, 2.11.0 due to insufficient input sanitization and output escaping. 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. Successful exploitation requires an administrator to run the plugin's block-conversion migration ("Scan & Convert Blocks" during deactivation), which triggers the vulnerable…
Source excerpt · WordfenceSuccessful exploitation requires an administrator to run the plugin's block-conversion migration ("Scan & Convert Blocks" during deactivation), which triggers the vulnerable build_group_block() function and promotes the dormant payload from a block delimiter comment into live post_content HTML. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.
Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
justinnealey · DesignSetGo
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 2.11.0 (inclusive) | affected |
Original source description
The DesignSetGo plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'tagName' parameter in all versions up to, and including, 2.11.0 due to insufficient input sanitization and output escaping. 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. Successful exploitation requires an administrator to run the plugin's block-conversion migration ("Scan & Convert Blocks" during deactivation), which triggers the vulnerable build_group_block() function and promotes the dormant payload from a block delimiter comment into live post_content HTML. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.
References
- Security advisory www.wordfence.com/threat-intel/vulnerabilities/id/2314df91-4e0a-4c8b-8f8e-8b8ae1b88524
- Source reference plugins.trac.wordpress.org/browser/designsetgo/tags/2.11.0/includes/admin/class-block-migrator.php
- Source reference plugins.trac.wordpress.org/browser/designsetgo/tags/2.11.0/includes/admin/class-block-migrator.php
- Source reference plugins.trac.wordpress.org/browser/designsetgo/tags/2.11.0/includes/admin/class-block-migrator.php
- Patch github.com/jnealey-godaddy/designsetgo/pull/659
- Patch plugins.trac.wordpress.org/changeset/3762066/designsetgo/trunk/includes/admin/class-block-migrator.php