Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as WordPress Author
-
DeliveryInject payload into Joinchat button block message
-
ExploitAdministrator views affected post
-
ExecutionScript executes in admin browser context
-
ImpactHijack privileged session
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 an authenticated WordPress account with the Author role or above on a site running Joinchat between 6.3.2 and before 6.4.2; the attacker must edit a post using the Joinchat button block and insert a script payload into the block's message field, which is then output unescaped inside a front-end HTML attribute. Exploitation only fires when another user renders that post (UI:R), so impact depends on a privileged user - ideally an administrator - actually viewing the attacker-controlled post. Limiting factors: it is not anonymously exploitable (needs a trusted Author+ account, which rules out untrusted/public users), it requires victim interaction (viewing the post), and it requires the affected version with the button block in use; these constraints are why SSVC rates it Exploitation: none and Automatable: no despite the network vector. |
| Impact | The signals point to a real but bounded, lower-priority issue rather than an emergency. The provided CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H, 6.8) is internally questionable for a stored XSS: it marks PR:H yet the description states the Author role (a moderate, not administrative, WordPress privilege) is sufficient, and it uses S:U with C:H/I:H/A:H even though XSS typically crosses into the victim's browser context (scope change) with lower direct technical impact - so the base score likely overstates direct impact and overstates the required privilege. EPSS is very low (0.15%, 4th percentile) and SSVC reports Exploitation: none and Automatable: no, which is consistent: this requires an already-trusted Author-level account and a victim viewing the post, so it is not mass-exploitable. The one strong signal is SSVC Technical Impact: total, reflecting that a payload landing in an administrator's browser can lead to full site compromise. Net: a legitimate stored XSS warranting patching on a normal cadence (vuln.today label this_month), not drop-everything urgency. No KEV listing and no exploit reference are present. |
| Exploit ScenarioDerived | A user who already holds the Author role (or higher) on a WordPress site running Joinchat before 6.4.2 edits a post containing a Joinchat button block and places a malicious script in the button's message field, which is emitted unescaped into an HTML attribute on the front end. When any visitor - including an administrator - views that post, the script executes in their browser, enabling session or account takeover. No public exploit or PoC reference is provided for this CVE. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Stored cross-site scripting in the Joinchat WordPress plugin before 6.4.2 lets authenticated users with the Author role or higher plant a script payload in the message field of the plugin's button block, which the plugin then writes unescaped into an HTML attribute on the front end of the post. The payload executes in the browser of any visitor who renders the affected post, including administrators, which is what gives an otherwise low-privilege author account a path to higher-impact actions; successful exploitation still depends on a privileged user actually viewing the crafted post. EPSS is low at 0.15% (4th percentile), CISA SSVC records Exploitation: none and Automatable: no, and no public exploit has been identified at time of analysis, so this is a real but bounded issue rather than an emergency and is scheduled on a this-month cadence.
RemediationAI
Update the Joinchat plugin to version 6.4.2 or later, which is the vendor-released fix for this issue per the patch data and the WPScan advisory. Because the payload is stored in post content rather than injected on each request, upgrading the plugin removes the output-side escaping gap but does not by itself rewrite already-saved block message values, so after patching, review and clean any existing posts that contain a Joinchat button block with suspicious attribute content - the trade-off is editorial effort on sites with many authors. If the update cannot be applied immediately, the effective compensating control is to remove the Author role and above from anyone not fully trusted on the site, since the flaw requires an authenticated Author-or-higher account to introduce the payload; the trade-off is reduced publishing throughput and the need to audit who currently holds those roles. Disabling or deactivating the Joinchat plugin until the update can be deployed eliminates the vulnerable output entirely at the cost of losing the chat button functionality on the front end. Note that CISA SSVC rates Exploitation: none and Automatable: no, so this is a this-month cadence item rather than an emergency patch.
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 flaw is CWE-79 (improper neutralization of input during web page generation, cross-site scripting) in a WordPress plugin that exposes a block-editor component. Joinchat registers a Gutenberg button block whose message text is persisted as part of post content, and before version 6.4.2 that stored value is emitted directly into an HTML attribute in the front-end markup without attribute-context escaping or encoding. Because the value is persisted server-side and re-rendered on every page view, the injection is stored rather than reflected: the sanitization failure occurs at output time, not at input time, so the block's message survives whatever editorial workflow created it. The attack surface is the block-editor post authoring path rather than an anonymous request, which is why the CVSS vectors supplied (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H from the record, and the independent assessment's CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) both carry an authenticated privilege requirement and a user-interaction requirement while differing on scope and resulting impact. The exact trigger - the specific attribute and the precise encoding gap - is not described in the available sources beyond the statement that the message is output in an HTML attribute.
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
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H
Author role is a low privilege (PR:L), a visitor must view the post (UI:R), the payload executes in the victim's browser so scope changes (S:C), with limited confidentiality/integrity impact and no availability impact.
Primary rating from Vendor (wpscan).
CVSS VectorVendor: wpscan
Lifecycle Timeline
4DescriptionCVE.org
The Joinchat WordPress plugin before 6.4.2 does not escape the message of its button block before outputting it in an HTML attribute on the front end, which could allow users with the Author role and above to perform Stored Cross-Site Scripting attacks against any visitor of the post, including administrators.
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.
The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
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
EUVD-2026-113728
GHSA-f3rx-q599-wf5g
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB