# CVE-2026-104993: GeoDirectory stored cross-site scripting in Contact Email field

Source: https://junglewise.ai/threats/cve-2026-104993-the-geodirectory-wp-business-directory-plugin-and-classified  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-10. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-104993 · Severity: medium · CVSS 6.4 · Published 2026-10-10

GeoDirectory is a WordPress plugin that allows businesses to create and manage directory listings. An authenticated attacker with subscriber-level access can inject malicious scripts into the Contact Email custom field that execute for all users viewing the listing, but only if an administrator has enabled the field on the public page and approved the attacker's listing. This could enable account takeover, credential theft, or malware distribution through compromised directory listings.

Technologies: [AyeCode GeoDirectory](https://junglewise.ai/threats/technologies/ayecode-geodirectory). Vendors: [AyeCode](https://junglewise.ai/threats/vendors/ayecode).

## Quick answers

**Is CVE-2026-104993 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-104993 being exploited in the wild.

**How severe is CVE-2026-104993?** Medium severity, with a CVSS score of 6.4, published 10 October 2026.

**Which products and versions are affected?** AyeCode GeoDirectory up to and including 2.8.188.

**Is there a fix for CVE-2026-104993?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-104993 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-104993?** Check whether you run AyeCode GeoDirectory at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The plugin is vulnerable to stored cross-site scripting (XSS) in the Contact Email custom field due to insufficient input sanitization and output escaping. The vulnerability affects all versions up to 2.8.188 and requires authenticated subscriber-level access combined with administrator approval of the listing. An attacker can inject arbitrary JavaScript that persists in the database and executes in users' browsers when they view the affected listing page.

## Affected products

- AyeCode GeoDirectory up to and including 2.8.188

## Timeline

- 2026-10-10: disclosed

## References

- [https://github.com/AyeCode/geodirectory/archive/refs/heads/master.zip](https://github.com/AyeCode/geodirectory/archive/refs/heads/master.zip)
- [https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.188/includes/class-geodir-post-data.php](https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.188/includes/class-geodir-post-data.php)

## Related threats

- [GeoDirectory stored cross-site scripting in post content](https://junglewise.ai/threats/cve-2026-120082-the-geodirectory-wp-business-directory-plugin-and-classified)
- [GeoDirectory stored cross-site scripting in post_images parameter](https://junglewise.ai/threats/cve-2026-116752-the-geodirectory-wp-business-directory-plugin-and-classified)
- [GeoDirectory WP Business Directory stored cross-site scripting in listing description](https://junglewise.ai/threats/cve-2026-119113-the-geodirectory-wp-business-directory-plugin-and-classified)
- [GeoDirectory arbitrary shortcode execution](https://junglewise.ai/threats/cve-2026-118635-the-the-geodirectory-wp-business-directory-plugin-and-classified)
- [GeoDirectory WP Business Directory stored XSS in twitterusername](https://junglewise.ai/threats/cve-2026-111069-the-geodirectory-wp-business-directory-plugin-and-classified)
