- 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.
- Source
- security-advisories@github.com
- NVD status
- Modified
CVSS 3.1
- Type
- Primary
- Base score
- 5.4
- Impact score
- 2.7
- Exploitability score
- 2.3
- Vector string
- CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- Severity
- MEDIUM
- Hype score
- Not currently trending
[
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:marmelab:ra-ui-materialui:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "6E468540-8158-43F2-A7FF-72D9CE7CDE4B",
"versionEndExcluding": "3.9.12"
},
{
"criteria": "cpe:2.3:a:marmelab:ra-ui-materialui:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "8C52A15F-0B9F-4E15-AB29-16295BF42E0B",
"versionEndExcluding": "4.7.6",
"versionStartIncluding": "4.0.0"
},
{
"criteria": "cpe:2.3:a:marmelab:react-admin:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "FEC7A43C-5BEA-446D-AB0F-E56517457D26",
"versionEndExcluding": "3.9.12"
},
{
"criteria": "cpe:2.3:a:marmelab:react-admin:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "280466D9-681F-4DEB-B15E-EAB5B6AD4638",
"versionEndExcluding": "4.7.6",
"versionStartIncluding": "4.0.0"
}
],
"operator": "OR"
}
]
}
]