Description
The GeoDirectory – WP Business Directory Plugin and Classified Listings Directory plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the listing description (post_content) in versions up to, and including, 2.8.199 This is due to insufficient input sanitization on save (the bundled geodir_kses_safe_embed_attributes() helper only neutralises data-embed-url, data-src and data-embed, while WordPress core wp_kses_post permits data-* attributes on standard HTML tags) combined with the AyeCode UI library initializing every [data-bs-toggle="popover-html"] element with { html: true, sanitize: false }, which inserts the attacker-controlled data-bs-content value into the popover body as HTML at render time. This makes it possible for authenticated attackers, with Subscriber-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.
paoltaia GeoDirectory – WP Business Directory Plugin and Classified Listings Directory
Default version status: unaffected
0 to ≤ 2.8.199affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/df5eb1b8-880d-4d7e-bdca-69bbd9c1ce5e?source=cve ↗
- https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.193/includes/post-functions.php#L2032 ↗
- https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.193/includes/class-geodir-post-data.php#L823 ↗
- https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.193/includes/formatting-functions.php#L453 ↗
- https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.193/vendor/ayecode/wp-ayecode-ui/includes/inc/bs5-js.php#L256 ↗
- https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.193/includes/class-geodir-ajax.php#L821 ↗
- https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.193/includes/class-geodir-post-data.php#L1666 ↗
- https://github.com/AyeCode/geodirectory/archive/refs/heads/master.zip ↗
- https://plugins.trac.wordpress.org/changeset/3773530/geodirectory/trunk/vendor/ayecode/wp-ayecode-ui/includes/inc/bs5-js.php ↗