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.
Published: 2026-10-30
Score: 6.4 Medium
EPSS: n/a
KEV: No
Impact: Stored Cross‑Site Scripting allowing arbitrary script execution in visitors’ browsers via the post_content field of listings, requiring Subscriber‑level or higher authentication
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a stored XSS that arises because the GeoDirectory plugin does not sufficiently sanitize user‑supplied content in the listing description field (post_content). The plugin’s helper only neutralises certain data‑attributes, while WordPress core’s wp_kses_post still permits data‑attributes on standard tags. Additionally, the bundled AyeCode UI library initializes every [data-bs-toggle="popover-html"] element with { html: true, sanitize: false }, injecting the attacker‑controlled data‑bs-content value as raw HTML into the popover body when it is rendered. Consequently, an authenticated user with Subscriber or higher privileges can inject arbitrary JavaScript that will execute in the browser of any visitor to the page containing the malicious listing. This leads to the compromise of confidentiality and integrity for end‑users, while the site’s own data remains untouched.

Affected Systems

The GeoDirectory plugin for WordPress, developed by paoltaia and released as the GeoDirectory – WP Business Directory Plugin and Classified Listings Directory, is vulnerable in all releases up to and including version 2.8.199. Only sites that allow authenticated users with Subscriber level or higher to edit listing content are impacted. Versions newer than 2.8.199 include the mitigation.

Risk and Exploitability

The CVSS score of 6.4 classifies this issue as medium severity. Although EPSS information is not available, and the vulnerability is not listed in CISA KEV, the requirement for authenticated access means that the attack surface is limited to users who can log on to the site. The exploitation path is straightforward: a compromised or willingly misbehaving Subscriber can edit a listing, insert malicious script into the post_content field, and once a visitor loads the page containing that listing, the injected code will run. The absence of a high exploitation probability score suggests that widespread exploitation is not yet observed, but the potential for session hijacking, credential theft, or phishing remains.

Generated by OpenCVE AI on October 30, 2026 at 19:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade GeoDirectory to a version newer than 2.8.199.
  • If an immediate upgrade is not feasible, modify or remove the AyeCode UI library’s popover initialization that sets { html: true, sanitize: false } to enforce sanitization of popover content.
  • Apply WordPress core wp_kses_post sanitization or a custom filter to the post_content field to strip or escape dangerous data‑attributes and script tags.

Generated by OpenCVE AI on October 30, 2026 at 19:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 30 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
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.
Title GeoDirectory <= 2.8.199 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'post_content' Parameter
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-30T18:08:55.651Z

Reserved: 2026-10-29T14:17:34.602Z

Link: CVE-2026-119113

cve-icon Vulnrichment

Updated: 2026-10-30T18:01:00.556Z

cve-icon NVD

Status : Deferred

Published: 2026-10-30T18:17:25.187

Modified: 2026-10-30T19:18:19.813

Link: CVE-2026-119113

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T19:15:16Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')