Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as group Owner/Admin/DocumentManager
-
DeliveryUpload document with payload in filename
-
ExploitFilename stored via POST /api/group_documents/upload
-
ExecutionVictim opens group workspace and clicks Share
-
PersistHandler string broken, script runs in SimpleChat origin
-
ImpactHijack victim session data and actions
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 group member holding Owner, Admin, or DocumentManager role to upload a document with an attacker-controlled filename via POST /api/group_documents/upload; apostrophes/HTML entities in the filename terminate the inline Share onclick handler string. Payload execution additionally requires a second group member to click the Share control on the malicious document (per the fix doc, the tooltip-attribute variant can also trigger on hover and reach ordinary group Users). Limiting factors: attacker must be an authenticated, privileged group member (not a general public user), the target deployment must be SimpleChat prior to 0.261.029, and victim interaction (Share click or hover) is needed before the script runs. |
| Impact | This is a stored (persistent) cross-site scripting flaw (CWE-79) scored CVSS 8.7 with vector AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N. The high score is driven by the scope change (S:C) and high confidentiality/integrity impact typical of XSS executing in a victim's authenticated session. However, several signals temper the real-world urgency: PR:L confirms the attacker must already be an authenticated group member - and the description further narrows this to a group Owner, Admin, or DocumentManager who can upload documents - while UI:R means a second victim user must click the Share control before the payload fires. No EPSS score was provided in the input, so exploitation probability cannot be quantified. KEV status is absent, so there is no confirmed active exploitation; exploitation status is best characterized as no public exploit identified at time of analysis (the only external artifacts are the GitHub Security Advisory GHSA-qwcw-r653-j8c6 and the fix commit, i.e. patch metadata, not exploit code). Net assessment: a genuine, well-documented stored XSS with a credible privileged-insider threat model, but the required privileged role plus victim interaction make it a lower practical priority than the raw 8.7 suggests - closer to a targeted-abuse / malicious-insider risk than mass remote exploitation. Note one nuance the fix documentation adds beyond the NVD description: a tooltip-attribute injection path on hover can affect even ordinary group Users who cannot share documents, slightly broadening the victim-trigger surface relative to the Share-click path implied by the CVSS UI:R metric. |
| Exploit ScenarioDerived | A malicious or compromised group Owner/Admin/DocumentManager uploads a document whose filename contains a crafted payload that breaks out of the inline onclick handler string (apostrophes survive escapeGroupHtml, and escapeHtml-produced entities are decoded by the browser before the handler is compiled). When another group member later opens the group workspace and clicks Share on that document, the script executes in the SimpleChat origin under the victim's session, enabling theft of victim-visible data and actions on the victim's behalf. No public exploit code is identified, but the GitHub advisory and fix commit precisely describe the injection mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
Stored cross-site scripting in Microsoft SimpleChat versions prior to 0.261.029 allows an authenticated group Owner, Admin, or DocumentManager to persist arbitrary JavaScript through a crafted document filename uploaded via POST /api/group_documents/upload; the payload executes in the SimpleChat origin when another group member clicks the Share control on the affected document. Scored CVSS 8.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N), the flaw yields high confidentiality and integrity impact with scope change because the injected script runs with the victim's session, exposing victim-visible data and actions. Exploitation requires a privileged authenticated group member to plant the payload and a second group member to trigger it (Share click, or hover via a tooltip-attribute variant that can also reach ordinary Users); no public exploit code was identified at time of analysis, and the issue is remediated in 0.261.029.
RemediationAI
Upgrade SimpleChat to version 0.261.029 or later - vendor-released patch: 0.261.029, which replaces the inline onclick=shareGroupDocument(...) interpolation with class-marked anchors bound through addEventListener in static/js/workspace/group-documents-sharing.js and assigns titles/subtitles via textContent and the .title DOM property instead of HTML strings; deployments tracking raw source should apply commit 537a259eb048b8f6d1c94193fa0c9683ab0bace9. Where immediate upgrade is not possible, compensating controls include: temporarily disabling group document upload (removing the authenticated POST /api/group_documents/upload path) so no attacker-controlled filename can be stored - at the cost of losing group document sharing; strictly limiting Owner, Admin, and DocumentManager role assignment to fully trusted users, since the flaw requires a privileged group member to plant the payload (this reduces but does not eliminate the threat from a compromised or malicious insider); and, as a stopgap, sanitizing or rejecting filenames containing apostrophes, backslashes, or angle brackets at upload time, though this is a weak filter that will not cover the tooltip-attribute path and should be treated as temporary only. Monitor the vendor advisory GHSA-qwcw-r653-j8c6 for updated guidance and review group workspaces for documents with unusual filenames that may carry previously stored payloads, as the stored script persists until the document is removed.
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 root cause is CWE-79 (improper neutralization of input during web page generation) manifesting as stored XSS in a JavaScript-rendered UI. SimpleChat's group workspace front end built document list rows, cards, and folder rows by interpolating the stored filename into an inline onclick handler using the template string shareGroupDocument('${docId}', '${escapeGroupHtml(doc.file_name || '')}') - and in a second location using escapeHtml instead. Because escapeGroupHtml leaves apostrophes unmodified, and because escapeHtml emits HTML entities that the browser decodes back to a literal quote before the handler string is compiled and evaluated as JavaScript, an attacker-controlled filename containing an apostrophe can terminate the handler string and append arbitrary code. A parallel weakness existed in the card renderer, which placed filenames and titles into double-quoted title (tooltip) attributes without encoding quotation marks, giving a second injection path. Microsoft's fix (commit 537a259eb048b8f6d1c94193fa0c9683ab0bace9, shipped as 0.261.029 and tracked in application/single_app/config.py) removes the inline handler entirely: share links are now plain anchors marked with the group-document-share-btn class, and a new window.bindGroupDocumentShareButton() helper in static/js/workspace/group-documents-sharing.js attaches an addEventListener('click', ...) handler at runtime. Text and tooltip values are likewise assigned through DOM properties (textContent, .title) rather than HTML string interpolation, closing both the handler and attribute injection paths.
Know when Simplechat 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:R/S:C/C:H/I:H/A:N
Authenticated privileged group member uploads the payload (PR:L), a second user must click Share (UI:R), and script runs cross-context in the victim's session (S:C, C:H/I:H, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
SimpleChat is a secure AI conversation application with personal and group workspaces for document-grounded interactions. Prior to 0.261.029, POST /api/group_documents/upload stores an attacker-controlled group document filename that group_workspaces.html later interpolates into inline Share event handlers. The escapeGroupHtml function leaves apostrophes unchanged, while escapeHtml produces an HTML entity that the browser decodes before JavaScript evaluation, so either path permits the filename to terminate the handler string. An authenticated group Owner, Admin, or DocumentManager can persist script that executes in the SimpleChat origin when another group member clicks Share, allowing access to victim-visible data and actions with the victim session. This issue is fixed in version 0.261.029.
Technical POC Analysis
CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically stored XSS in a JavaScript-string context inside an inline HTML event handler.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Microsoft SimpleChat installations older than 0.261.029 contain a stored cross-site scripting flaw that allows a privileged group Owner, Admin, or DocumentManager to hide malicious code in an uploaded document's filename, which then executes in a second group member's browser session when that person interacts with the document. Because the injected code runs with the victim's own permissions, an attacker can view and act on everything that user can access - group documents, chat content, and any connected workflow - turning ordinary collaboration into a credible insider data-theft and account-takeover channel. The exposure is limited to authenticated users who already hold elevated group roles plus a victim who must interact, but the confidentiality and integrity consequences for affected document workspaces are rated high, and remediation is fixed in version 0.261.029.
Apply vendor patch (upgrade to 0.261.029) or isolate unpatched instances. Where upgrade is not yet possible, restrict group Owner/Admin/DocumentManager assignments to vetted staff, disable or manually vet document uploads via POST /api/group_documents/upload, reject filenames containing script or HTML markup, enforce a restrictive Content-Security-Policy on the SimpleChat origin, require authenticated review of uploaded documents, and monitor for anomalous filenames and subsequent share actions.
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 Simplechat
View allAuthenticated low-privileged users of Microsoft SimpleChat can achieve operating-system command execution under the appl
Missing authentication in Microsoft SimpleChat (prior to 0.241.206) lets remote, unauthenticated clients invoke administ
Insecure Direct Object Reference (IDOR) in Microsoft SimpleChat exposes any authenticated user's profile data to other a
EUVD-2026-93427
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB