Skip to main content

Deep Chat CVE-2026-108852

| EUVDEUVD-2026-97003 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-10-11 VulnCheck GHSA-qvgf-g4p8-x92p
2.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Inject javascript: Markdown link into chat content
  2. Exploit
    Content rendered without link validation
  3. Execution
    Victim clicks crafted link
  4. Impact
    Script executes in embedding page context

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

Exploitation requires that the application embedding Deep Chat (through version 2.5.1) render attacker-influenced Markdown - specifically content delivered via AI responses, the addMessage API, or loaded conversation history - because RemarkableConfig.createNew turns off Remarkable's built-in link scheme validation, permitting javascript: URIs by default. The decisive limiting factor is user interaction: the victim must actively click the malicious link (UI:A) for the script to fire; the link does not auto-execute. A second practical prerequisite (AT:P) is that the attacker must first get crafted Markdown into the chat stream, which typically means control over the AI backend, the ability to supply history, or a reflection path for user content. No authentication is required of the attacker (PR:N), and the insecure configuration is the component's default behavior rather than an opt-in setting.

Impact

This is a genuinely low-priority issue despite being a real XSS flaw. The input CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:A) scores only 2.1, and the signals are internally consistent: network-reachable but requires active user interaction (the victim must click a crafted link) and an attack requirement (AT:P) that the attacker first get malicious Markdown into the chat stream. Impact is confined to the subsequent/embedding page (VC:N/VI:N/VA:N with SC:L/SI:L), i.e. script execution in the page context rather than compromise of the Deep Chat component's own data. No KEV listing and no confirmed public exploit code are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis' - though a detailed third-party technical writeup (hackmd) and a VulnCheck advisory exist and could lower the effort to reproduce. No EPSS score or SSVC decision data was supplied, so probability-of-exploitation and automatability cannot be weighed. The realistic risk is a targeted client-side attack dependent on an attacker already controlling or influencing message/history content, not a mass-exploitable server flaw.

Exploit ScenarioDerived

An attacker who can influence content rendered by Deep Chat - for example a malicious or compromised AI backend, user-supplied chat history, or any text passed to addMessage - embeds a Markdown link using the javascript: scheme. Because RemarkableConfig.createNew disables Remarkable's link validation, the link is rendered intact; when the victim clicks it, arbitrary JavaScript executes in the context of the embedding page. No public exploit code is identified, but a third-party technical writeup documenting the flaw is referenced.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 11, 2026

Cross-site scripting in Deep Chat through 2.5.1 enables remote attackers to inject javascript: links into AI responses, addMessage content, or loaded history because the embedded Remarkable markdown renderer disables link scheme validation; victims must click the crafted link for script execution in the embedding page. The flaw requires the attacker to first place malicious Markdown into the chat stream-typically via control over the AI backend, supplied history, or a reflection path-and no authentication is needed, though user interaction is decisive. This is a genuinely low-priority issue despite being a real XSS flaw, and no public exploit code was identified at time of analysis.

RemediationAI

No vendor-released patch identified at time of analysis. As a compensating control, developers embedding Deep Chat through 2.5.1 should override RemarkableConfig.createNew to re-enable Remarkable's link scheme validation, or apply an HTML sanitizer such as DOMPurify to the rendered Markdown output to strip javascript: URIs before insertion into the DOM; this requires custom code and ongoing maintenance. Alternatively, restrict and sanitize all Markdown sources-AI responses, the addMessage API, and loaded conversation history-so attacker-controlled content cannot introduce dangerous link schemes, and instruct users not to click unexpected links in chat; this reduces exposure but does not eliminate the flaw if any injection path remains. Disabling Markdown link rendering entirely, if configurable, will prevent exploitation but breaks legitimate links. Monitor the vendor GitHub repository (https://github.com/OvidijusParsiunas/deep-chat) and the VulnCheck advisory (https://www.vulncheck.com/advisories/deep-chat-through-2.5.1-xss-via-markdown-link-validation-bypass) for a patched release.

Affected VersionsENISA

Deep Chat 1.4.7 ≤2.5.1

Affected Packages

euvd deep_chat no fix

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

Deep Chat is a web component that renders chat messages, including Markdown, using the Remarkable parser. CVE-2026-108852 is a CWE-79 (improper neutralization of input during web page generation) issue caused by RemarkableConfig.createNew in the component's source (component/src/views/chat/messages/remarkable/remarkableConfig.ts, lines 74-78) turning off Remarkable's built-in link scheme validation. As a result, Markdown links with javascript: URIs are accepted by default and rendered as clickable links. The CPE cpe:2.3:a:ovidijusparsiunas:deep_chat:*:*:*:*:*:*:*:* confirms that all versions through 2.5.1 are affected. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N) and the independently assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) both indicate that exploitation requires attacker-controlled Markdown to reach the renderer (AT:P) and a victim to click the malicious link (UI:A/UI:R), with low confidentiality and integrity impact only to the embedding page (scope changed). No authentication is required of the attacker, and the insecure configuration is the component's default behavior rather than an opt-in setting.

Know when Deep Chat 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 (VulnCheck) PRIMARY 2.1 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 6.1 MEDIUM

Network-delivered stored/reflected XSS needing a victim click (UI:R); script runs in the embedding page beyond the vulnerable component (S:C) with limited confidentiality and integrity impact, no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

DescriptionCVE.org

Deep Chat through 2.5.1 contains a cross-site scripting vulnerability that allows attackers to inject javascript: links because RemarkableConfig.createNew disables Remarkable link validation. Attackers can place crafted Markdown links in AI responses, addMessage content, or loaded history to execute script in the embedding page when victims click them.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Low
niche open-source JS chat web component, limited production footprint
Social Media
1
Sightings
Data Quality
5 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 LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
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.

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