Description
The GD Rating System plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'title' and 'url' Render Args in gdrts_live_handler AJAX in all versions up to, and including, 3.7.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Although the AJAX action requires a per-item nonce, that nonce is publicly emitted in the page's <script class="gdrts-rating-data"> JSON block on every page rendering the rating item, making it obtainable by any unauthenticated visitor and therefore not an authentication barrier.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
gdragon GD Rating System
Default version status: unaffected
0 to ≤ 3.7.1affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/5f06140d-c28f-4dfb-be61-cc8f59884766?source=cve ↗
- https://plugins.trac.wordpress.org/browser/gd-rating-system/tags/3.7.1/templates/stars-rating/gdrts--stars-rating--list--default-table.php#L44 ↗
- https://plugins.trac.wordpress.org/browser/gd-rating-system/tags/3.7.1/rating/core.ajax.php#L184 ↗
- https://plugins.trac.wordpress.org/browser/gd-rating-system/tags/3.7.1/rating/engine.single.php#L140 ↗
- https://plugins.trac.wordpress.org/browser/gd-rating-system/tags/3.7.1/rating/core.item.php#L383 ↗
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3723329%40gd-rating-system&new=3723329%40gd-rating-system ↗