Description
The Ultimate Post plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'moreResultsText' block attribute of the ultimate-post/advanced-search block in versions up to and including 5.0.31. This is due to insufficient input sanitization and output escaping in the Advanced_Search::content() render callback: the attribute value is filtered with wp_kses(), which strips disallowed HTML tags but does NOT escape HTML special characters such as double quotes in plain text, and the result is then concatenated directly into the data-viewmoretext HTML attribute without esc_attr(). 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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
wpxpo Post Grid Gutenberg Blocks – PostX
Default version status: unaffected
0 to ≤ 5.0.31affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/070ccd70-22c3-47f1-9dce-a884bff9ea76?source=cve ↗
- https://plugins.trac.wordpress.org/browser/ultimate-post/tags/5.0.27/blocks/Advanced_Search.php#L116 ↗
- https://plugins.trac.wordpress.org/browser/ultimate-post/tags/5.0.28/blocks/Advanced_Search.php#L116 ↗
- https://plugins.trac.wordpress.org/browser/ultimate-post/tags/5.0.28/blocks/Advanced_Search.php#L108 ↗
- https://plugins.trac.wordpress.org/browser/ultimate-post/tags/5.0.28/classes/Blocks.php#L231 ↗
- https://plugins.trac.wordpress.org/browser/ultimate-post/tags/5.0.27/blocks/Advanced_Search.php#L108 ↗
- https://plugins.trac.wordpress.org/browser/ultimate-post/tags/5.0.27/classes/Blocks.php#L231 ↗
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3598669%40ultimate-post&new=3598669%40ultimate-post ↗