Description
The GeoDirectory – WP Business Directory Plugin and Classified Listings Directory plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'post_content' parameter in all versions up to, and including, 2.8.191 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. This requires the attacker to own a published listing, as the ownership check in GeoDir_Post_Data::can_edit() limits who can store the payload; however, because ajax_save_post() re-applies the existing post_status, edits to an already-published listing bypass re-moderation and remain live immediately.
Published: 2026-10-16
Score: 6.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting via post content in authenticated listings
Action: Patch
AI Analysis

Impact

The vulnerability in the GeoDirectory – WP Business Directory Plugin allows an authenticated attacker with subscriber-level or higher privileges to inject arbitrary JavaScript into the 'post_content' field. The injected script is stored and rendered when other users view the listing, leading to client‑side code execution on visitor browsers. The defect results from insufficient input sanitization and lack of output escaping, which permits the persistence of malicious payloads without triggering moderation. The impact is restricted to compromised listings created by the attacker, causing the injected code to run automatically for any site visitor who views the affected listings.

Affected Systems

This flaw is present in all versions of the GeoDirectory plugin up to and including 2.8.191, as released by the vendor paoltaia. Users of the WordPress plugin “GeoDirectory – WP Business Directory Plugin and Classified Listings Directory” running any affected version should verify their installed version and plan an upgrade.

Risk and Exploitability

The CVSS score of 6.4 indicates a moderate severity. The EPSS score is reported as less than 1 %, suggesting a low to very low likelihood of exploitation in current datasets, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires that the attacker own a published listing and possess subscriber‑level access, after which the ajax_save_post function re‑applies the existing post_status so the payload remains live immediately. Given these prerequisites, the scope is limited to authenticated listing owners, and the overall risk to a typical deployment is moderate rather than critical.

Generated by OpenCVE AI on October 16, 2026 at 14:18 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the GeoDirectory plugin to version 2.8.192 or later to apply the vendor patch that enforces proper sanitization of the 'post_content' field.
  • If an upgrade cannot be performed immediately, restrict the ability of subscriber‑level or lower roles to edit the 'post_content' of existing listings, or change the role permissions so that only higher‑privilege users may modify listing content.
  • Implement site‑wide input validation or content‑security‑policy headers to mitigate potential client‑side script execution risk, and monitor for suspicious script injection attempts in the listing content.

Generated by OpenCVE AI on October 16, 2026 at 14:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 16 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 16 Oct 2026 09:45: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 'post_content' parameter in all versions up to, and including, 2.8.191 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. This requires the attacker to own a published listing, as the ownership check in GeoDir_Post_Data::can_edit() limits who can store the payload; however, because ajax_save_post() re-applies the existing post_status, edits to an already-published listing bypass re-moderation and remain live immediately.
Title GeoDirectory <= 2.8.191 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'post_content' Parameter via data-embed-url Attribute
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-16T14:13:09.355Z

Reserved: 2026-10-14T14:23:08.631Z

Link: CVE-2026-110703

cve-icon Vulnrichment

Updated: 2026-10-16T14:13:00.585Z

cve-icon NVD

Status : Deferred

Published: 2026-10-16T10:18:05.447

Modified: 2026-10-16T14:51:17.720

Link: CVE-2026-110703

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-16T14:30:13Z

Weaknesses
  • CWE-79

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