Kentico Xperience stored cross-site scripting in multiple-file upload functionality
Not confirmed exploited. 1 of 8 rule sources name it; Cloudflare blocks by default. Our CRS test: blocked.
The Kentico Xperience application does not fully validate or filter files uploaded via the multiple-file upload functionality, which allows for stored XSS.This issue affects Kentico Xperience through 13.0.178.
Edge coverage
Claimed by vendorsAsk Vigil
AI · answers from this pageWorkers AI (Llama 3.3). Can be wrong: check the cited source.
Severity, decoded
CVSS 3.1Exploitable over the network, with no privileges and user interaction, leading to low impact on confidentiality and integrity, and the impact can reach components beyond the vulnerable one.
How the score is built
- Attack vectorAn attacker can reach it over the internet; no access to your network needed.Network
- Attack complexityNo special conditions are needed; the attack works reliably.Low
- Privileges requiredNo account or login is needed.None
- User interactionA user has to do something first, such as open a file or click a link.Required
- ScopeThe attack can spread beyond the vulnerable component to other parts of the system.Changed
- Confidentiality impactAn attacker can read some data, but has no control over what they get.Low
- Integrity impactAn attacker can change some data, but with limited control or limited effect.Low
- Availability impactThe component keeps working normally.None
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:NCISA has seen no public exploit and no attacks.
At least one step needs hands-on work, which slows mass attacks.
A successful attack gives limited control over the affected software or limited access to its data.
Public exploits
1 found- NucleiCVE-2025-2748.yamldetection template, replayed in our lab
Links are to third-party code: never run it outside an isolated lab.
Timeline
- 2025-03-24CVE publishedCVE List
- 2025-08-11Cloudflare ships a ruleKentico Xperience CMS - XSS - CVE:CVE-2025-2748
- 2026-11-02Our test: OWASP Core Rule Set blocked itparanoia level 1, anomaly threshold 5, default CRS settings
- 2026-11-02Our test: OWASP Core Rule Set blocked itparanoia level 2, anomaly threshold 5, default CRS settings
Vendor statements
QuotedCloudflareWAF Managed Rules
First rule 2025-08-11, 140 days after the CVE was published.
Kentico Xperience CMS - XSS - CVE:CVE-2025-2748. Previous action: Log. New action: Block. This is a New Detection
AWSAWS WAF Managed Rules
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. AWS often describes a vulnerability without naming its CVE (for example "Log4j"). We count only entries that name the CVE, so AWS coverage is understated.
Microsoft AzureFront Door and Application Gateway WAF (DRS)
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. The rule tables name CVEs but carry no dates, so Azure is left out of every time-to-rule figure.
Google CloudCloud Armor preconfigured WAF rules
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Google names few CVEs: the release notes start in May 2024 and the rules reference lists CVEs without dates. Its cve-canary rules are opt-in.
FastlyNext-Gen WAF virtual patches
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
F5Attack signatures (Distributed Cloud WAF)
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Each signature lists the CVEs it references, with its id and date. F5 does not state a default action; signatures enforce once staging ends in your policy.
AkamaiApp & API Protector (Adaptive Security Engine)
This vendor publishes no machine-readable rule changelog we can check.
OWASP CRSCore Rule Set (open source, used inside many WAFs)
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. CRS rarely names CVEs: it relies on generic detections. Our own lab measures what it actually blocks.
Social
No posts seen yet on X, Bluesky, Mastodon, Hacker News or GitHub.