Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CVE-2023-25572
Summary
react-admin is a frontend framework for building browser applications on top of REST/GraphQL APIs. The package react-admin and ra-ui-materialui versions prior to 3.19.12 and 4.0.x prior to 4.7.6 are vulnerable to cross-site scripting. All React applications built with react-admin and using the "<RichTextField>" are affected. "<RichTextField>" outputs the field value using "dangerouslySetInnerHTML" without client-side sanitization. If the data isn't sanitized server-side, this opens a possible cross-site scripting (XSS) attack. Versions 3.19.12 and 4.7.6 now use "DOMPurify" to escape the HTML before outputting it with React and "dangerouslySetInnerHTML". Users who already sanitize HTML data server-side do not need to upgrade. As a workaround, users may replace the "<RichTextField>" by a custom field doing sanitization by hand.
- LOW
- NETWORK
- LOW
- CHANGED
- REQUIRED
- LOW
- LOW
- NONE
CWE-79 - Cross Site Scripting
Cross-Site Scripting, commonly referred to as XSS, is the most dominant class of vulnerabilities. It allows an attacker to inject malicious code into a pregnable web application and victimize its users. The exploitation of such a weakness can cause severe issues such as account takeover, and sensitive data exfiltration. Because of the prevalence of XSS vulnerabilities and their high rate of exploitation, it has remained in the OWASP top 10 vulnerabilities for years.
References
Advisory Timeline
- Published