Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as uploader-role user
-
DeliveryPATCH assistant UI logo with malicious SVG
-
ExploitServer stores SVG without sanitization
-
ExecutionVictim loads logo via picture endpoint
-
PersistSVG JavaScript executes in SQLBot 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 SQLBot account with permission to upload the assistant UI logo (the uploader role reaching PATCH /api/v1/system/assistant/ui) on a version prior to 1.9.0, where the upload allowlist accepted .svg. Exploitation further requires a second victim user to load the stored logo served inline from the same origin via GET /api/v1/system/assistant/picture/{filename}, so it is not fully self-contained - it needs the passive interaction of another logged-in user. Limiting factors: no anonymous/unauthenticated path, impact bounded to the victim session's data and actions (no direct RCE or full-account takeover claimed), and it is neutralized by upgrading to 1.9.0 which drops SVG from accepted upload types. |
| Impact | This is a genuine but moderate-severity stored XSS, not a top-priority emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N, score 5.1) tells the real story: exploitation is network-reachable and low-complexity, but gated by two factors - the attacker must already hold an authenticated account with logo-upload rights (PR:L), and a victim must load the malicious resource (UI:P/passive). Impact is capped at Low confidentiality and Low integrity because the injected JavaScript is confined to whatever the victim's session can see and do, not full application compromise. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no signal of active or automated exploitation - this is 'no public exploit identified at time of analysis.' The patch is confirmed available (v1.9.0, commit 835eefcb) and the fix is a one-line allowlist change removing .svg from accepted upload types, which is a clear, low-effort mitigation. Net: prioritize as a normal patch-cycle item, elevated only for deployments where low-privileged users can upload assistant logos and other users share the same origin. |
| Exploit ScenarioDerived | An authenticated SQLBot user with uploader privileges submits a crafted image/svg+xml file containing embedded <script> as the assistant UI logo via PATCH /api/v1/system/assistant/ui. When any other user's browser later renders that logo inline from GET /api/v1/system/assistant/picture/{filename}, the embedded JavaScript executes in the SQLBot origin, letting the attacker act with the victim's session privileges. No public exploit code was identified, but the technique is well-understood and the fixing commit effectively documents the vector. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Stored cross-site scripting in SQLBot prior to 1.9.0 lets an authenticated user with logo-upload privileges persist a malicious SVG that later executes JavaScript in another user's browser session. The uploader sends an image/svg+xml file to PATCH /api/v1/system/assistant/ui, which is stored without sanitization and then served inline from the same application origin via GET /api/v1/system/assistant/picture/{filename}; when a second logged-in user loads the generated resource, the embedded script runs with access to that victim's session data and actions. Exploitation requires a valid SQLBot account and the passive interaction of another user (CVSS 4.0 base 5.1; assessed CVSS 3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N), and no public exploit code has been identified at time of analysis; the issue is fixed in 1.9.0.
RemediationAI
Vendor-released patch: upgrade SQLBot to 1.9.0 (https://github.com/dataease/SQLBot/releases/tag/v1.9.0), which removes '.svg' from the accepted assistant-UI upload types in backend/apps/system/api/assistant.py and backend/apps/system/crud/parameter_manage.py and raises the sqlbot-xpack dependency floor to >=0.0.5.22,<0.0.6.0 - the corresponding code change is in PR https://github.com/dataease/SQLBot/pull/1160 and commit https://github.com/dataease/SQLBot/commit/835eefcb39b595248ea006f3cfce445d2f49167e, and the official advisory is https://github.com/dataease/SQLBot/security/advisories/GHSA-v23m-5pvq-xcgx. If upgrading cannot be done immediately, restrict the logo upload allowlist on the running instance to .jpg, .jpeg and .png only (for example by patching SQLBotFileUtils.check_file or by fronting the endpoint with a reverse-proxy rule that rejects multipart uploads containing image/svg+xml), and remove or re-encode any previously uploaded SVG logos, since the stored payload persists after the upload path is closed and the retrieval endpoint will keep serving it. As a defence-in-depth measure, serve /api/v1/system/assistant/picture/* with Content-Disposition: attachment or from a separate origin such as a CDN or dedicated cookie-less subdomain so any residual active content cannot execute in the SQLBot origin, and add a Content-Security-Policy that forbids inline script; the trade-offs are that attachment disposition changes how logos render in the UI, cross-origin hosting requires CORS/asset-path changes, and a strict CSP can break legitimate inline script in the SQLBot frontend until it is tuned. Note that disabling custom SVG logos forces administrators to convert vector artwork to PNG, which may reduce image quality, and that low-privileged accounts that can reach the assistant UI settings should be reviewed as part of the cleanup.
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 / Cross-Site Scripting) applied to a file-upload trust boundary. SQLBot's assistant UI accepts a custom logo through a multipart form handled in backend/apps/system/api/assistant.py, where the upload allowlist passed to SQLBotFileUtils.check_file previously included '.svg' alongside '.jpg' and '.png'. SVG is not an inert image format: it is an XML document that may contain <script> elements and event handlers, so storing an attacker-supplied SVG and later returning it inline with an image/svg+xml content type from the application's own origin causes the browser to parse and execute the embedded JavaScript in the SQLBot origin context. The retrieval endpoint GET /api/v1/system/assistant/picture/{filename} serves the stored file inline from the same application origin, which is what converts a benign-looking image upload into same-origin script execution. The upstream fix (commit 835eefcb39b595248ea006f3cfce445d2f49167e, PR #1160) narrows the accepted upload types in both assistant.py and the parameter_manage.py type documentation to .jpg, .jpeg and .png, removes '.svg' from every localized upload help string in en, ko-KR, zh-CN and zh-TW locales, and bumps the sqlbot-xpack dependency from >=0.0.5.19 to >=0.0.5.22 so the deployment-side package enforces the same restriction. Because the injected script runs in the SQLBot web origin, it inherits the victim's session cookies and CSRF context, so it can read rendered data and perform actions the victim is authorized to perform, but the assessed impact is limited to the victim session (no RCE and no full account takeover claimed).
Know when Sqlbot 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 uploader (PR:L) plants stored payload that runs in another user's browser (UI:R, S:C); XSS yields Low confidentiality/integrity within the victim session, no availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
SQLBot is an intelligent Text-to-SQL system based on large language models and RAG. Prior to 1.9.0, an authenticated uploader can submit an image/svg+xml assistant UI logo through PATCH /api/v1/system/assistant/ui, and SQLBot stores the SVG without sanitizing or validating embedded active content. SQLBot later serves the file inline from the same application origin through GET /api/v1/system/assistant/picture/{filename}. When another user loads that generated resource, JavaScript embedded in the SVG executes in the SQLBot web application context, resulting in stored cross-site scripting with access to data and actions available to the victim's session. This issue is fixed in version 1.9.0.
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.
SQLBot is an intelligent data query system based on a large language model and RAG. [CVSS 6.1 MEDIUM]
Prompt injection in SQLBot 1.7.0 and earlier allows authenticated attackers to execute arbitrary SQL statements through
Stored cross-site scripting in SQLBot's SQText dashboard component allows any authenticated low-privilege user who can e
Remote code execution in SQLBot 1.5.0 and below allows authenticated users to inject malicious prompts through unsanitiz
SQLBot, an intelligent data query system based on large language models and RAG, contains a critical SQL injection vulne
Cross-workspace IDOR in SQLBot (DataEase) versions prior to 1.8.0 allows authenticated low-privilege users to read and m
A Server-Side Request Forgery (SSRF) vulnerability in SQLBot, an intelligent data query system based on large language m
Authenticated workspace members in DataEase SQLBot through 1.10.1 can rename and rewrite other users' private dashboards
A vulnerability was found in Dataease SQLBot up to 1.5.1. This impacts the function validateEmbedded of the file backend
A vulnerability has been found in Dataease SQLBot up to 1.4.0. This affects an unknown function of the file backend/apps
Server-side request forgery (SSRF) in Dataease SQLBot up to version 1.6.0 allows high-privileged remote attackers to man
EUVD-2026-82563
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB