Skip to main content

SveltyCMS EUVDEUVD-2026-82932

| CVE-2026-93505 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-18 VulDB GHSA-mjpq-j95w-2f3f
5.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege media-upload user
  2. Delivery
    Craft SVG with embedded script
  3. Exploit
    Upload via SVG media (large-file path bypasses sanitizer)
  4. Execution
    Stored payload served to viewers
  5. Impact
    Victim 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

SveltyCMS 0.0.6

Affected Packages

euvd sveltycms 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

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

Vendor (VulDB) PRIMARY 5.1 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

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

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Rare
obscure pre-1.0 open-source CMS, negligible production footprint
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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