cve/2023/CVE-2023-25572.md

19 lines
1.5 KiB
Markdown
Raw Normal View History

2024-05-25 21:48:12 +02:00
### [CVE-2023-25572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-25572)
![](https://img.shields.io/static/v1?label=Product&message=react-admin&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=%3D%20%3C%203.19.12%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-79%3A%20Improper%20Neutralization%20of%20Input%20During%20Web%20Page%20Generation%20('Cross-site%20Scripting')&color=brighgreen)
### Description
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.
### POC
#### Reference
- https://github.com/marmelab/react-admin/pull/8644
- https://github.com/marmelab/react-admin/security/advisories/GHSA-5jcr-82fh-339v
#### Github
No PoCs found on GitHub currently.