Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister subscriber account on site
-
DeliveryCreate and publish listing
-
ExploitInject script into 'phone' field
-
ExecutionVictim views listing page
-
ImpactScript executes in victim browser
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 a valid subscriber-level (or higher) account on the target site; the realistic prerequisite is that the site permits public/self-service user registration, since the plugin's default grant of the edit_at_biz_dirs and publish_at_biz_dirs capabilities to the subscriber role lets any such user submit AND publish listings with no admin moderation. The payload is injected via the 'phone' Listing Field, which lacks input sanitization and output escaping. Exploitation is limited by: the need for an authenticated account (PR:L), the requirement that a victim subsequently load the injected listing page for the stored script to fire, and sites that disable open registration or restrict listing publication to moderated/trusted roles materially reduce exposure. |
| Impact | This is a moderate-severity stored XSS (CVSS 6.4, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) that sits well below top-priority status but is more exploitable than its low privilege/impact metrics suggest in isolation. The network vector and low attack complexity mean exploitation is technically easy, and although PR:L requires authentication, the description confirms the plugin grants subscriber-role users the edit_at_biz_dirs and publish_at_biz_dirs capabilities, so any self-registered subscriber can submit and PUBLISH a malicious listing WITHOUT moderation - effectively lowering the practical bar to near-trivial on sites that allow open registration. The scope-change (S:C) and UI:N reflect that the injected script fires in other users' browser sessions when they view the listing, enabling session/cookie theft or admin-targeted actions. No EPSS score, SSVC decision, KEV listing, or public POC was supplied, so there is no evidence of active or automated exploitation; the C:L/I:L/A:N impact caps the direct damage. Net: a real but second-tier hygiene priority - patch in routine cycles, prioritizing higher if the site permits public subscriber registration. No signals conflict; the main gap is the absence of EPSS/exploit telemetry to gauge real-world targeting. |
| Exploit ScenarioDerived | An attacker self-registers a free subscriber account on a Directorist-powered site and creates a business listing, inserting a malicious script payload into the 'phone' field, which the plugin fails to sanitize or escape on output. Because subscribers can publish listings without moderation, the listing goes live immediately, and the script executes in the browser of any visitor or administrator who views the listing page. No public exploit code was identified at time of analysis, but crafting the payload is straightforward given the detailed source-code references. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Stored cross-site scripting in the Directorist WordPress plugin (AI-Powered Business Directory, Listings & Classified Ads) affects all versions up to and including 8.10.2.1, letting an attacker with a subscriber-level account inject arbitrary JavaScript through the 'phone' listing field that then executes in the browser of any user viewing the affected listing page. The weakness is reachable because the plugin grants the edit_at_biz_dirs and publish_at_biz_dirs capabilities to the subscriber role by default, so a subscriber can submit and publish a listing with no administrator moderation; the primary real-world prerequisite is therefore a site that allows open or self-service user registration. Rated CVSS 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) and tracked as CVE-2026-100185 by Wordfence, this is a moderate-severity issue that sits below top-priority status, and at the time of analysis there is no public exploit identified and no CISA KEV confirmation of active exploitation, though the low privilege bar makes it more practical than its modest impact metrics suggest.
RemediationAI
No vendor-released patch version is independently confirmed in the available data; the referenced WordPress plugin repository changeset (https://plugins.trac.wordpress.org/changeset?reponame=&old=3730035%40directorist&new=3730035%40directorist) indicates an upstream fix available as a commit/changeset, so administrators should update the Directorist plugin to a release newer than 8.10.2.1 and then verify the installed version, using the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/bdddb715-4c49-419f-a599-51ff0857393a?source=cve as the tracking reference. Because the root enabler is the default grant of edit_at_biz_dirs and publish_at_biz_dirs to the subscriber role, the most effective compensating control is to remove those capabilities from subscriber (and any other untrusted) roles and require moderator approval before listings publish - the trade-off is that this disables self-service listing submission and adds editorial workload. A second immediate control is to disable open/self-service user registration or restrict it to vetted accounts, which blocks the attacker's entry point at the cost of blocking legitimate new signups. Sites that must keep open registration can instead enable mandatory listing moderation, restrict who may edit the 'phone' field, and deploy a WordPress-aware WAF rule targeting XSS payloads in listing submission parameters as a stopgap - noting that WAF filtering is bypassable and does not correct the underlying missing sanitization and output escaping. Any content already stored in listing 'phone' fields should be reviewed and cleansed, since the payload persists until overwritten.
Affected VersionsENISA
Affected Packages
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
The vulnerability is a classic CWE-79 improper neutralization of input during web page generation (stored/persistent cross-site scripting) in a WordPress plugin. The 'phone' field of a Directorist listing accepts user input that is neither sanitized on save nor escaped on output; the referenced source at includes/classes/class-add-listing.php (line 303) handles listing submission, includes/model/SingleListing.php (line 1491) handles the stored listing data, and templates/single/fields/map.php (line 10) renders field data into the single-listing/map template, which is where the unescaped value is emitted into the HTML response and the injected script executes. The CPE string cpe:2.3:a:wpwax:directorist identifies the affected component as the wpwax-published Directorist WordPress plugin, and ENISA EUVD entry EUVD-2026-100796 corroborates the affected range as up to and including 8.10.2.1. The CVSS scope-changed (S:C) metric reflects that the flaw in the plugin affects resources beyond its own security authority, namely the broader WordPress site and its authenticated users. Exploitability is amplified by an unusual authorization design: the plugin assigns edit_at_biz_dirs and publish_at_biz_dirs to the subscriber role, collapsing the normal submission-then-moderation workflow so that untrusted users can publish content that other visitors will render.
Know when Directorist 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
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Authenticated subscriber can self-register and publish unmoderated (PR:L, AC:L); stored script runs in other users' browsers (S:C, UI:N) with limited confidentiality/integrity impact and no availability effect.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Directorist: AI-Powered Business Directory, Listings & Classified Ads plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'phone' Listing Field in all versions up to, and including, 8.10.2.1 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 is possible because the plugin grants the edit_at_biz_dirs and publish_at_biz_dirs capabilities to the subscriber role, allowing any subscriber-level user to submit and publish listings without moderation.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Directorist
View allThe Directorist WordPress plugin before 7.0.6.2 was vulnerable to Cross-Site Request Forgery to Remote File Upload leadi
The Directorist WordPress plugin before 7.4.4 does not prevent users with low privileges (like subscribers) from accessi
The Directorist WordPress plugin before 7.4.2.2 suffers from an IDOR vulnerability which an attacker can exploit to chan
Remote unauthenticated attackers can escalate privileges to administrator level in Directorist Social Login WordPress pl
PHP Object Injection in the wpWax Directorist WordPress plugin (all versions through 8.8.2) lets remote attackers pass u
Path traversal in the Directorist WordPress plugin (versions 8.5 through before 8.9.3) allows subscriber-level authentic
The Directorist WordPress plugin before 7.3.1 discloses the email address of all users in an AJAX action available to bo
The Directorist WordPress plugin before 7.2.3 allows administrators to download other plugins from the same vendor direc
The Directorist plugin for WordPress is vulnerable to an arbitrary user password reset in versions up to, and including,
The Directorist WordPress plugin before 7.3.0 does not have authorisation and CSRF checks in an AJAX action, allowing an
Authorization bypass in the Directorist: AI-Powered Business Directory, Listings & Classified Ads plugin for WordPress (
The Directorist: AI-Powered Business Directory Plugin with Classified Ads Listings plugin for WordPress is vulnerable to
EUVD-2026-100796
GHSA-v6w7-4jw7-37cj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB