Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliveryUpload malicious HTML via POST /uploads
-
ExploitSend public /uploads/{path} link to signed-in admin
-
ExecutionVictim opens link, script executes in app origin
-
ImpactSteal access_token cookie and hijack admin 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 (1) a valid authenticated account on the Cheshire Cat AI instance with permission to call POST /uploads (PR:L - typically any signed-in user, not just admins), since the uploads scaffold plugin accepts files without MIME/extension type restrictions; (2) the uploaded file being served back via the public GET /uploads/{path} endpoint in the application's own origin; and (3) a victim who is signed in and who opens the attacker-supplied link (UI:P passive interaction). Exploitation is further enabled by the access_token being stored in a cookie reachable from JavaScript in the page origin. Limiting factors: no unauthenticated path (an account is mandatory), the victim must click the link, and impact scales with the victim's role - stealing an administrator's token requires luring that specific admin. |
| Impact | This is a genuine but moderate-severity issue, not a top-priority emergency. The only CVSS vector provided is CVSS 4.0 (5.1, Medium): AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N - network-reachable and low-complexity, but requiring an authenticated low-privilege account (PR:L) AND passive victim interaction (UI:P, i.e. the victim must open the attacker-supplied link). No CVSS 3.1 vector, EPSS score, KEV entry, or SSVC decision point was supplied in the input, so exploitation-probability and automatability signals cannot be weighed - treat the absence of an EPSS/KEV signal as missing data, not as evidence of low risk. There is no KEV listing, so this is not confirmed actively exploited. A detailed third-party technical writeup (hackmd) and a direct link to the vulnerable source lines exist, which substantially lowers the barrier to building a working exploit, but no packaged public exploit code is explicitly flagged in the input. Net: the stored-XSS primitive is real and the privilege escalation path (victim admin's access_token cookie reachable from script) is meaningful, but the twin requirements of a valid account and victim click, combined with a niche product footprint, keep real-world mass-exploitation risk low-to-moderate rather than critical. |
| Exploit ScenarioDerived | An attacker with any low-privilege authenticated account uploads a malicious HTML file through POST /uploads (which enforces no type restriction), then sends the resulting public GET /uploads/{path} link to a signed-in victim - ideally an administrator. When the victim opens the link in the application origin, the embedded script runs with access to the victim's access_token cookie, letting the attacker hijack the session, including admin sessions. A public technical writeup documents the full reproduction path, so a working exploit is low-effort to reconstruct even though no packaged exploit is flagged. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Cheshire Cat AI core through 2.0.23 is affected by a stored cross-site scripting vulnerability in its uploads plugin, which allows any authenticated user to upload HTML files via POST /uploads without type restrictions. A signed-in victim who opens a crafted GET /uploads/{path} link executes attacker-controlled script in the application's origin, potentially exposing the access_token cookie and enabling session hijacking, with administrators at highest risk. The issue requires victim interaction and a valid account; no public exploit code or active exploitation (CISA KEV) has been identified, and the overall risk is assessed as moderate (CVSS 5.1).
RemediationAI
No vendor-released patch is identified in the available data for CVE-2026-108725; monitor the Cheshire Cat AI core repository (https://github.com/cheshire-cat-ai/core) for a fixed release beyond 2.0.23. Until a patch is available, apply compensating controls: (1) Disable or remove the uploads scaffold plugin if file uploads are not essential, which will break all upload functionality but eliminates the attack vector. (2) Restrict access to POST /uploads to trusted users only (e.g., via role-based access control or network restrictions), noting that any authenticated user can currently exploit the flaw, so this reduces but does not eliminate risk. (3) Configure a reverse proxy to block GET requests to /uploads/* that return HTML content (e.g., by inspecting Content-Type or file extension), though this may interfere with legitimate file downloads and requires careful rule tuning. (4) Set the access_token cookie with the HttpOnly and Secure attributes to prevent JavaScript access-verify that the application does not rely on JavaScript reading the cookie, as this could break authentication flows. (5) Implement server-side MIME type and extension whitelisting for uploads if custom code changes are feasible. Educate users not to click untrusted /uploads/ links. For further guidance, refer to the VulnCheck advisory (https://www.vulncheck.com/advisories/cheshire-cat-ai-core-through-2.0.23-stored-xss-via-uploads-plugin) and the CVE.org reference (https://hackmd.io/@haind03/cheshire-cat-uploads-stored-html-same-origin-xss).
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
Cheshire Cat AI core is an open-source framework for building LLM-based agents, exposing a plugin architecture. The uploads scaffold plugin (source: src/cat/scaffold/plugins/uploads/endpoints.py, lines 28-96) implements a POST /uploads endpoint that accepts files without validating MIME type or extension. Uploaded files are then publicly served via GET /uploads/{path} from the same origin as the application. Because the application stores the access_token in a cookie accessible to JavaScript in that origin, an HTML file containing malicious script can steal that token when a victim views the file. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically stored XSS. The CPE cpe:2.3:a:cheshire-cat-ai:core:*:*:*:*:*:*:*:* confirms all versions through 2.0.23 are in scope. The independent assessment (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) indicates that while the attack is network-reachable, it requires low privileges (an authenticated account) and victim interaction, with scope change and limited confidentiality/integrity impact consistent with token theft.
Know when Core 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Authenticated low-priv upload gives PR:L; victim must open the link so UI:R; stored XSS executing in the victim's browser context crosses a security authority (S:C) with low C/I and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Cheshire Cat AI core through 2.0.23 contains a stored cross-site scripting vulnerability in the uploads plugin that allows authenticated users to upload HTML files via POST /uploads without type restrictions. Attackers can send the public GET /uploads/{path} URL to a signed-in victim, executing script in the application origin with the victim's access_token cookie, 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.
A remote code execution vulnerability in MobileIron Core & Connector versions 10.3.0.3 and earlier, 10.4.0.0, 10.4.0.1,
Onlyoffice Document Server v6.0.0 and below and Core 6.1.0.26 and below were discovered to contain a heap overflow via t
Onlyoffice Document Server v6.0.0 and below and Core 6.1.0.26 and below were discovered to contain a stack overflow via
An issue was discovered in Form Tools through 3.0.20. Rated critical severity (CVSS 9.8), this vulnerability is remotely
Remote code execution in REDAXO CMS versions 5.18.2 through 5.21.0 is reachable by authenticated backend users with medi
Excessive Data Query Operations in a Large Data Table in GitHub repository pimcore/demo prior to 10.3.0. Rated medium se
An issue was discovered in Form Tools through 3.0.20. Rated medium severity (CVSS 6.1), this vulnerability is remotely e
Unauthenticated attackers who know a target's email address can take over Kiteworks Core accounts that use locally store
Root-level code execution on OPNsense firewalls running versions prior to 26.1.11 is achievable by an authenticated oper
An authentication bypass vulnerability in MobileIron Core & Connector versions 10.3.0.3 and earlier, 10.4.0.0, 10.4.0.1,
An issue was discovered in Form Tools through 3.0.20. Rated medium severity (CVSS 5.4), this vulnerability is remotely e
Stored cross-site scripting in Kiteworks Core (all versions prior to 9.5.0) enables unauthenticated attackers to persist
EUVD-2026-96891
GHSA-37wv-8fg5-p97x
NVD
CVE.org
EPSS
Exploit-DB