🔐 CVE Alert

CVE-2026-120082

HIGH 7.2

GeoDirectory <= 2.8.200 - Unauthenticated Stored Cross-Site Scripting via Nested '[gd_dynamic_content]' Shortcode in post_content

CVSS Score
7.2
EPSS Score
0.0%
EPSS Percentile
0th

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.200 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The nested shortcode payload ([gd_dynamic_conten[gd_tags]t ...]) defeats the plugin's geodir_strip_shortcodes() guard because WordPress's strip_shortcodes() performs only a single pass over registered tags, and HTML-entity-encoded attributes in the resulting shortcode survive wp_kses_post() because kses inspects HTML tags rather than shortcode attribute values.

CWE CWE-79
Vendor paoltaia
Product geodirectory – wp business directory plugin and classified listings directory
Published Nov 7, 2026
Stay Ahead of the Next One

Get instant alerts for paoltaia geodirectory – wp business directory plugin and classified listings directory

Be the first to know when new high vulnerabilities affecting paoltaia geodirectory – wp business directory plugin and classified listings directory are published — delivered to Slack, Telegram or Discord.

Get Free Alerts → Free · No credit card · 60 sec setup

CVSS v3 Breakdown

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Attack Vector
Attack Complexity
Privileges Required
User Interaction
Scope
Confidentiality
Integrity
Availability

Affected Versions

paoltaia / GeoDirectory – WP Business Directory Plugin and Classified Listings Directory
0 ≤ 2.8.200

References

NVD ↗ CVE.org ↗ EPSS Data ↗
wordfence.com: https://www.wordfence.com/threat-intel/vulnerabilities/id/2db386bd-3edc-48ae-9e32-ac57d472ab5b?source=cve plugins.trac.wordpress.org: https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.200/includes/widgets/class-geodir-widget-dynamic-content.php#L456 plugins.trac.wordpress.org: https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.200/includes/widgets/class-geodir-widget-dynamic-content.php#L169 plugins.trac.wordpress.org: https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.200/includes/formatting-functions.php#L640 plugins.trac.wordpress.org: https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.200/includes/class-geodir-post-data.php#L1732 plugins.trac.wordpress.org: https://plugins.trac.wordpress.org/browser/geodirectory/tags/2.8.200/includes/class-geodir-ajax.php#L830 github.com: https://github.com/AyeCode/geodirectory/archive/refs/heads/master.zip plugins.trac.wordpress.org: https://plugins.trac.wordpress.org/changeset/3779924/geodirectory/trunk/includes/widgets/class-geodir-widget-dynamic-content.php

Credits

Kuba