Skip to main content

GeoDirectory CVE-2026-113488

| EUVDEUVD-2026-111726 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-28 contact@wpscan.com GHSA-8x4j-963r-3gx3
6.8
CVSS 3.1 · Vendor: wpscan
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register/obtain Contributor account
  2. Delivery
    Submit post badge shortcode with malicious attribute
  3. Exploit
    Payload stored unescaped in inline event handler
  4. Execution
    Admin views listing and clicks badge
  5. Persist
    Script executes in admin browser
  6. Impact
    Session/account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the GeoDirectory plugin (version before 2.8.196) installed, plus an authenticated account holding the Contributor role or higher that can use the post badge shortcode and control its attribute value. Exploitation is not fully automatic: a victim (typically an administrator) must view and click the rendered badge for the stored payload in the inline event handler to fire (UI:R). Limiting factors: the site must permit Contributor-level (or higher) accounts to untrusted users, the attacker must be authenticated, and victim click interaction is required - so sites that do not expose Contributor accounts to outsiders face substantially lower real risk.

Impact

This is a moderate, not emergency, priority. The vuln.today decision label is 'this_month', EPSS is low at 0.17% (6th percentile), and there is no CISA KEV listing, so there is no evidence of active or widespread exploitation - exploitation status is 'no public exploit identified at time of analysis' (the only reference is the WPScan advisory, not verified working exploit code). The supplied CVSS of 6.8 uses PR:H, but the description states the attacker only needs the Contributor role 'and above'; Contributor is a low-privilege WordPress role, so PR:H appears overstated and PR:L is more accurate - verify, because this materially changes the realism of exploitation (self-registration/contributor accounts are common on content sites). The supplied impact set C:H/I:H/A:H is also aggressive for a stored XSS; real impact depends on compromising an administrator session. Signals are internally consistent on 'real but low-urgency': network vector and low complexity raise theoretical reach, but PR (authenticated) plus UI:R (victim must click the badge) plus low EPSS and no KEV point to a targeted, not mass, threat. Net: patch on a normal cycle, prioritize sites that allow untrusted Contributor-level accounts.

Exploit ScenarioDerived

An attacker obtains or registers a Contributor-level account on a GeoDirectory site and submits a post badge shortcode whose attribute carries a JavaScript payload that lands unescaped inside an inline event handler. When an administrator or other user later views the listing and clicks the badge, the stored script executes in their browser, potentially hijacking the admin session. No verified public exploit code is identified; only the WPScan advisory reference exists.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Stored cross-site scripting in the GeoDirectory WordPress plugin before 2.8.196 lets authenticated users with the Contributor role or higher inject script through a post badge shortcode attribute that is written into an inline event handler without JavaScript-context escaping. The payload persists in the badge and fires when a victim - typically an administrator - views and clicks it, so an attacker must first obtain a Contributor-or-higher account and then rely on victim interaction. This is a moderate, not emergency, priority: EPSS is 0.17% (6th percentile), there is no CISA KEV listing, and no public exploit was identified at time of analysis; the vendor has released a fix in 2.8.196.

RemediationAI

Update the GeoDirectory plugin to 2.8.196 or later; a vendor-released patch is available and updating is the complete fix, with the vendor advisory and version confirmation at https://wpscan.com/vulnerability/f228b40e-a0ca-46f0-8173-45e39958a69d/. Because exploitation requires an authenticated Contributor-or-higher account that can use the post badge shortcode, risk is substantially lower on sites that do not grant Contributor accounts to untrusted parties - reviewing and reducing Contributor-level access for external or untrusted users limits exposure until the update is applied, though it does not remove the underlying flaw. No alternative technical mitigation is documented in the available sources; note that the exploit only fires when a victim clicks the rendered badge, so administrative users should avoid interacting with badge content on unpatched installations.

Affected VersionsENISA

GeoDirectory 0 <2.8.196

Affected Packages

euvd geodirectory fix: 2.8.196

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

GeoDirectory is a WordPress plugin that adds directory listings and related display components, including shortcodes rendered into front-end markup. The flaw is CWE-79 (improper neutralization of input during web page generation), specifically the stored variant: a shortcode attribute belonging to the post badge feature is not escaped for a JavaScript context before being placed inside an inline event handler. Because the value lands in an executable attribute position, HTML-escaping alone is insufficient - JavaScript-context escaping (or data-attribute plus delegated handler patterns) is required. The attacker-supplied value is saved server-side and re-emitted to every visitor who loads the affected badge, which is why a low-privileged Contributor can reach higher-privileged viewers; the independent assessment scores this S:C (scope change) with C:L/I:L/A:N under CVSS:3.1/AV:N/AC:L/PR:L/UI:R, while the published vector is CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H (6.8) - both agree the attack requires a victim to click the rendered badge (UI:R) and that no unauthenticated path exists.

Know when WordPress gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (wpscan) PRIMARY 6.8 MEDIUM
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 5.4 MEDIUM

Contributor is a low-privilege authenticated role so PR:L (not PR:H); the victim must click the badge (UI:R); XSS executes in the victim's browser crossing a trust boundary (S:C) with limited direct confidentiality/integrity impact and no availability loss.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (wpscan).

CVSS VectorVendor: wpscan

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Oct 28, 2026 - 18:22 NVD
6.8 (MEDIUM)
Patch available
Oct 28, 2026 - 07:16 EUVD
CVE Published
Oct 28, 2026 - 06:16 cve.org
MEDIUM 6.8
CVE Published
Oct 28, 2026 - 06:16 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

The GeoDirectory WordPress plugin before 2.8.196 does not properly escape a post badge shortcode attribute for a JavaScript context before placing it in an inline event handler, allowing users with the Contributor role and above to perform Stored Cross-Site Scripting attacks against anyone who clicks the badge, including administrators.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
popular WordPress directory-listing plugin, moderate but not universal install base
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2016-10033 CRITICAL POC
9.8 Dec 30

The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para

CVE-2016-10045 CRITICAL POC
9.8 Dec 30

The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2026-63030 CRITICAL POC
9.8 Jul 17

Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy