Skip to main content
VulnerabilityPublished

CVE-2026-93897: GeoDirectory (WordPress plugin) · Cross-site Scripting

Affects GeoDirectory (WordPress plugin)Source CVE Database V5

0
Compare

Not known to be exploited · CVSS 6.4 Medium.

Data as of 8 Nov 2026, 23:24 UTC

CVSS 3.1 base score
6.4Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.2% chance of exploitation in 30 days – higher than 11% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 8 Nov 2026.

What to do

Affected software

ProductAffectedFixed in
paoltaiaGeoDirectory – WP Business Directory Plugin and Classified Listings DirectoryAffected
  • <=2.8.181
Fixed in–

AI-suggested

Users should monitor the vendor's advisory channels for updates. Until a fix is available, restrict subscriber-level user permissions where possible and avoid using text-type custom fields for untrusted input. Validate and sanitize inputs at the application level as a temporary mitigation.

Description

The GeoDirectory – WP Business Directory Plugin and Classified Listings Directory plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Text-type Custom Field (e.g., 'phone') in all versions up to, and including, 2.8.181 due to insufficient input sanitization and output escaping. 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. The payload must be stored in a text-type custom field (such as a phone field) via the AJAX geodir_save_post endpoint, using entity-encoded angle brackets (e.g., &lt;img src=x onerror=alert(1)&gt;) to bypass the strpos()-gated tag-stripping check.

References

Community reviews

Loading reviews…