Skip to main content
← All vulnerabilities
CVE-2023-25572GHSA-5JCR-82FH-339V

React-Admin vulnerable to Cross-Site-Scripting attack on `<RichTextField>`

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.19.12, 4.7.6
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

react-admin is a frontend framework for building browser applications on top of REST/GraphQL APIs. react-admin prior to versions 3.19.12 and 4.7.6, along with ra-ui-materialui prior to 3.19.12 and 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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • marmelab react-admin

    fixed in 3.19.12; From 4.0.0 · fixed in 4.7.6

  • react-adminnpm

    fixed in 3.19.12

  • react-adminnpm

    From 4.0.0 · fixed in 4.7.6

  • ra-ui-materialuinpm

    From 4.0.0 · fixed in 4.7.6

  • ra-ui-materialuinpm

    fixed in 3.19.12

References 5

GitHub · marmelab/react-admin