CVE-2026-119113: GeoDirectory stored cross-site scripting (XSS) vulnerability
medium 6.4 published 2026-10-30
- Affected versions
- 2.8.199 and older
- Fixed in
- 2.8.200 *
- Latest version
- 2.8.201
- Severity
- Medium · CVSS 6.4
- Active installs
- 10,000+
- Type
- Stored cross-site scripting (XSS)
* The source does not name a fixed version; this is the first wordpress.org release after the last affected version.
What an attacker needs
- Access: A logged-in account with Subscriber-level access or higher.
CVSS vector (score by Wordfence): CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
What to do now
- Update GeoDirectory to 2.8.200 or newer (the latest is 2.8.201): Dashboard → Updates, or Plugins → “update now”.
- If you cannot update right away, deactivate it until you can.
- Turn on auto-updates for it: Plugins → “Enable auto-updates” on its row.
- Not sure which version you run? Check your version against every known GeoDirectory issue.
With WP-CLI:
wp plugin get geodirectory --field=version. - If you ran an affected version and something looks off (new admin users, spam pages, redirects), run the free scan below.
The advisory
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.
References
- NVD CVE-2026-119113 nvd.nist.gov
- Wordfence advisory www.wordfence.com
- Code change (fix) plugins.trac.wordpress.org
- github.com github.com
- Plugin source plugins.trac.wordpress.org
Related
Ran an affected version? Check your site for signs of a hack
The free scan reads the public side of your site and looks for spam pages, hidden redirects, injected scripts and blacklist entries. No login, no install, about a minute.
Where this data comes from
- CVE record, score and references: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Versions and install counts: wordpress.org/plugins/geodirectory (Plugins API), fetched 2026-11-04.
- The summary, “what an attacker needs” and “what to do” sections are our plain-English reading of the record and the plugin's release history; the quoted description is the record's own text. Spot an error? Email Daniel.