Skip to main content

react-admin EUVDEUVD-2026-104921

| CVE-2026-113350 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-20 VulnCheck GHSA-j95f-gmvj-5c83
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Gain write access to a URL-type backend field
  2. Exploit
    Store javascript: URI in record field
  3. Execution
    Admin views record and clicks rendered link
  4. Impact
    Script executes in admin's authenticated 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

Exploitation requires that an attacker can store or influence the value of a URL-type backend field (e.g. a 'url' record attribute) that is rendered by react-admin's UrlField or FileField components in versions before 5.15.5 - this implies at least low-privilege authenticated write access to the data layer feeding the admin UI (PR:L). The payload is a javascript: URI (including obfuscated variants using mixed case, leading control characters, or embedded tabs/newlines, per the getSafeUrl regex in the patch). Execution additionally requires a victim administrator to passively interact by clicking the rendered link (UI:P). Limiting factors: it is not remote-unauthenticated (attacker needs write access), it depends on administrator click interaction, and it only affects deployments using UrlField/FileField on attacker-influenceable data in react-admin < 5.15.5; upgrading to 5.15.5 neutralizes it by rendering unsafe URLs as plain text.

Impact

This is a medium-severity stored XSS (CWE-79, CVSS 4.0 base 5.1) whose real-world urgency is moderate, not critical. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) shows that while the flaw is network-reachable and low-complexity, it is gated by two meaningful barriers: the attacker must already hold at least low-privilege write access to backend data (PR:L), and a victim administrator must passively interact by clicking the maliciously rendered link (UI:P). Impact is partial across confidentiality and integrity (VC:L/VI:L, VA:N) with a scope/subsequent-system effect (SC:L/SI:L) reflecting execution in the admin's authenticated session rather than full system compromise. No EPSS score was provided, the CVE is NOT in CISA KEV, and no public POC was supplied - so there is no signal of active or widespread exploitation; exploitation status is 'no public exploit identified at time of analysis.' No SSVC decision data was provided. The signals are consistent (no conflict between vector and description), so the honest conclusion is a genuine-but-not-urgent issue: a vendor-confirmed, patched flaw whose exploitation depends on attacker write access plus admin interaction, making it a patch-on-normal-cycle item rather than an emergency.

Exploit ScenarioDerived

A low-privileged user (or any actor able to influence a URL-type backend field) stores a 'javascript:alert(...)' payload in a record field that react-admin renders through UrlField or FileField. When an administrator later browses that record and clicks the rendered link, the script executes in the admin's authenticated session, enabling session-context actions such as token theft or admin-privileged requests. No public exploit code was provided in the input, though the patch diff and VulnCheck advisory describe the mechanism in detail.

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

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

Alert me

AnalysisAIv1 – Oct 20, 2026

Stored cross-site scripting in react-admin before 5.15.5 lets an authenticated attacker with low-privilege write access to URL-type record fields execute JavaScript in an administrator's session when the administrator clicks a rendered UrlField or FileField link. The vulnerable components emitted javascript: URI values as clickable hrefs, including obfuscated variants using mixed case, leading control characters, or embedded tabs and newlines, while exploitation depends on administrator click interaction and attacker influence over stored URL data. CVSS 4.0 base score is 5.1, no public exploit identified at time of analysis, and upgrading to 5.15.5 renders unsafe URLs as plain text.

RemediationAI

Vendor-released patch: 5.15.5. Upgrade react-admin to 5.15.5 or later, which contains the added getSafeUrl guard and renders javascript: URLs as plain text with a console error instead of creating a clickable link; see https://github.com/marmelab/react-admin/releases/tag/v5.15.5, the fix commit https://github.com/marmelab/react-admin/commit/d20820a05dc8094d322ffa3f0bd9800501acb0a8, and the advisory https://www.vulncheck.com/advisories/react-admin-before-5.15.5-stored-xss-via-urlfield-and-filefield. If upgrading is not immediately possible, validate and sanitize URL fields server-side before storage, rejecting javascript: schemes and obfuscated variants with mixed case, leading control characters, or embedded tabs/newlines; this may also block legitimate schemes such as mailto, tel, ftp, or data, so allowlist the schemes your application actually needs. A custom UrlField or FileField renderer that checks the protocol before creating an href is also effective, but it must apply the same obfuscation-aware check and be audited across all record fields, while restricting write access to URL-type fields reduces exposure but does not eliminate stored payloads already present. Content Security Policy can add defense in depth against script execution but is not a substitute for the patched renderer.

Affected VersionsENISA

react-admin 0 <5.15.5

Affected Packages

euvd react_admin fix: 5.15.5

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

react-admin is Marmelab's React-based administration framework, and its UrlField and FileField components in packages/ra-ui-materialui render record values as links by placing them in href attributes. CWE-79 (stored cross-site scripting) is the root cause: the pre-5.15.5 code did not validate the URL scheme before creating an anchor, so a stored javascript: URI executes in the origin of the admin application when a victim clicks it, allowing script access to the administrator's authenticated session. The upstream fix adds getSafeUrl and isSafeUrl in packages/ra-core, using a case-insensitive regular expression that rejects javascript: after leading C0 control characters or spaces and with tabs or newlines between letters; safe URLs such as http, https, mailto, tel, ftp, relative paths, and data URIs continue to work. The supplied CPE cpe:2.3:a:marmelab:react-admin:*:*:*:*:*:*:*:* identifies all react-admin versions before 5.15.5 as the affected range, and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) confirms low-privilege authenticated write access plus victim click interaction, with low confidentiality and integrity impact and no availability impact.

Know when React Admin 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 (VulnCheck) PRIMARY 5.1 MEDIUM
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
vuln.today AI 5.4 MEDIUM

Attacker needs low-privilege write access (PR:L) to store the payload and the admin must click the link (UI:R); stored XSS executing in the admin session crosses a security boundary (S:C) with partial C/I impact and no availability effect.

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 (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

react-admin before 5.15.5 contains a stored cross-site scripting vulnerability that allows attackers to inject scripts by storing javascript: URIs in record fields rendered by UrlField and FileField. Attackers who can influence URL-type backend fields can execute JavaScript in an administrator's authenticated session when the administrator clicks the rendered link.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular open-source React admin framework, common but not ubiquitous
Data Quality
5 sources
Confidence: Medium

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.2%
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
None
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