GeoDirectory <= 2.8.194 - Authenticated (Contributor+) Stored Cross-Site Scripting via Post Badge Shortcode 'cta' and 'link' Attributes
- ID
- WPSEC-2026-1462
- Plugin
- GeoDirectory – WP Business Directory Plugin and Classified Listings Directory (geodirectory)
- Affected
- all versions before 2.8.195
- Remediation
- Update to 2.8.195 or later.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Weakness
- CWE-79
- Usage
- Plugin Low · Affected versions Low among sites WPSec scans, 2026-10-22
- Attack surface
- GeoDirectory on WPSec AttackSurface
- Fix released
- Published
Description
The GeoDirectory plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'link' and 'cta' attributes of the gd_post_badge shortcode in all versions up to, and including, 2.8.194, due to insufficient output escaping. The 'link' value is placed in a single-quoted href inside popover HTML using esc_url(), which encodes quotes only as HTML entities that are decoded again when the popover is rendered as unsanitized HTML. The 'cta' value is placed in an onclick JavaScript string without its entities being decoded first. 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.
References
- https://wpsec.com/vuln/WPSEC-2026-1462/
- https://plugins.svn.wordpress.org/geodirectory/tags/2.8.195/
- https://wordpress.org/plugins/geodirectory/
Published by WPSec. Provided as is, without warranty. Corrections: contact us.
This advisory as JSON or Markdown · All advisories: JSON, RSS