Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege media-upload user
-
DeliveryCraft SVG with embedded script
-
ExploitUpload via SVG media (large-file path bypasses sanitizer)
-
ExecutionStored payload served to viewers
-
ImpactVictim views SVG, script executes in their 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 account with permission to upload media (PR:L) and specifically exercises the SVG media upload feature via its large-file/streaming path, which bypassed the sanitizeSvg/bufferAndSanitizeSvg routine and MAX_SVG_BYTES enforcement. Exploitation further requires victim interaction (UI:P/UI:R) - a user or admin must open/view the stored malicious SVG for the payload to fire. Limiting factors: not remote-unauthenticated (an upload-capable login is needed), payload only executes on view, and it is confined to SveltyCMS 0.0.6 before the referenced patch commit. |
| Impact | This is a stored cross-site scripting flaw (CWE-79) in SveltyCMS 0.0.6's SVG media upload path (src/utils/media/media-service.server.ts). The vendor CVSS 4.0 vector CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N (score 5.1, Medium) is internally consistent with a low-privilege, user-interaction-dependent XSS: network-reachable, low attack complexity, but requiring an authenticated low-privilege account able to upload media (PR:L) and a victim who subsequently views the malicious SVG (UI:P). The GitHub commit evidence corroborates the mechanism - the note 'large-file path was a stored-XSS bypass; always buffer + sanitizeSvg / bufferAndSanitizeSvg, never pure-stream unsanitized SVG' confirms the root cause is an unsanitized large-SVG streaming path that stored active script content. Signals are consistent but modest: no EPSS score is provided, the CVE is not in CISA KEV, and no public exploit code is referenced (only VulDB submission/analysis pages), so exploitation status is 'no public exploit identified at time of analysis.' Net assessment: a genuine but bounded issue - real integrity/session risk in the browser of a viewing user, gated behind needing an upload-capable account and victim interaction, in a pre-1.0 niche CMS. It is a patch-when-convenient issue rather than an emergency, and the vendor's VC:N/SC:N (no confidentiality impact, no scope change) arguably understates typical stored-XSS session-theft potential. |
| Exploit ScenarioDerived | An attacker with a low-privilege authenticated account that can upload media crafts an SVG file containing embedded JavaScript and uploads it through the SVG media upload feature, exploiting the large-file streaming path that bypassed sanitization. When an administrator or another user later views that SVG in the CMS, the script executes in their browser session. No public exploit code is referenced - only VulDB analysis pages and the vendor patch commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Stored cross-site scripting in SveltyCMS 0.0.6 allows an authenticated user who can upload media to plant a malicious SVG that executes in the browser of anyone who later views it. The flaw sits in src/utils/media/media-service.server.ts, where the large-file/streaming upload path bypassed the sanitizeSvg / bufferAndSanitizeSvg routine and the MAX_SVG_BYTES size cap, so unsanitized SVG markup reaches storage and is served back to victims; the supplied vector (AV:N/PR:L/UI:P) confirms exploitation requires a media-upload-capable account and victim interaction, and no public exploit code or confirmed active exploitation was identified at time of analysis. Scored 5.1 in CVSS 4.0 terms, this is a moderate-severity stored XSS confined to SveltyCMS 0.0.6 prior to the referenced fix commit.
RemediationAI
Vendor-released fix: apply upstream commit 05b4f9efeb79e9d72a693232334d7529687f896f (https://github.com/SveltyCMS/SveltyCMS/commit/05b4f9efeb79e9d72a693232334d7529687f896f) - patch status is 'Upstream fix available (PR/commit); released patched version not independently confirmed', so verify the commit is in your deployed build or upgrade to the first tagged release that contains it. The commit's own guidance is to always buffer and sanitize SVG uploads (sanitizeSvg / bufferAndSanitizeSvg) and to enforce MAX_SVG_BYTES instead of pure-streaming large files; if you cannot patch immediately, disable SVG as an accepted upload MIME type or restrict media upload to fully trusted administrators, accepting the loss of legitimate SVG asset support. Additional compensating controls: serve uploaded media from a separate origin or with Content-Disposition: attachment so SVG markup is never rendered in the application origin, and set a Content-Security-Policy that disallows inline script and object/embed in any context where user files are displayed - noting that an attachment-only policy breaks inline image previews. Because exploitation requires a victim to open the stored file, alerting on and reviewing media uploads from non-administrator accounts is a useful interim detection measure. Related hardening from the same commit (stripPrivilegedUserFields on user-attribute updates, and validateEgressUrl/safeFetch for remote media imports) should be applied together, as they address co-located privilege-escalation and SSRF risks.
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
SVG is an XML dialect, so uploaded SVG files can legitimately contain <script> elements, onload/onerror event handlers, <foreignObject> blocks and external entity or href references; when such a file is stored and then rendered inline in a browser, the embedded script runs in the origin of the hosting application. SveltyCMS's media service in src/utils/media/media-service.server.ts handled SVG uploads with a sanitization path (bufferAndSanitizeSvg / sanitizeSvg plus a MAX_SVG_BYTES limit), but the AGENTS.md guidance committed alongside the fix explicitly notes that the large-file streaming path was a stored-XSS bypass and that SVG uploads must always be buffered and sanitized rather than pure-streamed. The root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation), i.e. insufficient output/input neutralization of active markup before the file is persisted and re-served. The affected component is the SVG Media Upload feature of the SveltyCMS media subsystem; the CPE record cpe:2.3:a:n/a:sveltycms:*:*:*:*:*:*:*:* is version-agnostic but the advisory and code evidence scope the issue to 0.0.6. The same commit also hardened related classes - privilege fields in user-attribute updates and SSRF in remote URL fetches - indicating a broader media/identity security review rather than an isolated fix.
Know when Sveltycms 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:N/VI:L/VA:N/SC:N/SI:N/SA:N
Requires an authenticated upload-capable account (PR:L) and a victim viewing the SVG (UI:R); stored script executes in the victim's browser context (S:C) with limited confidentiality and integrity impact.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A vulnerability was found in SveltyCMS 0.0.6. This vulnerability affects unknown code of the file src/utils/media/media-service.server.ts of the component SVG Media Upload. Performing a manipulation results in cross site scripting. The attack can be initiated remotely. The patch is named 05b4f9efeb79e9d72a693232334d7529687f896f. Applying a patch is the recommended action to fix this issue.
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.
Server-side request forgery in SveltyCMS 0.0.6 lets an authenticated, low-privileged user (CVSS PR:L, confirmed in both
Improper access control in SveltyCMS 0.0.6 allows an authenticated low-privilege user to submit privileged attributes su
EUVD-2026-82932
GHSA-mjpq-j95w-2f3f
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB