🔍 CVE-2023-25572

5.4
CVSS Score
MEDIUM
2023-02-13
2026-06-17 05:41
✅ 완료

🇰🇷 한글 설명

react-admin 및 ra-ui-materialui의 특정 버전에서 발생하는 교차 사이트 스크립팅(XSS) 취약점입니다. <RichTextField> 컴포넌트가 클라이언트 측에서 HTML을 적절히 정화(Sanitization)하지 않고 dangerouslySetInnerHTML을 사용하여 데이터를 출력하기 때문에 발생합니다.

💡 쉬운 설명

웹사이트 화면에 글자를 보여줄 때, 악성 코드가 포함된 글자를 그대로 실행해버리는 보안 약점입니다. 해커가 심어놓은 위험한 스크립트가 사용자의 브라우저에서 작동할 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

react-admin 및 ra-ui-materialui 3.19.12 및 4.7.6 미만 버전

⚔️ 공격 벡터

서버 측에서 정화되지 않은 악성 HTML/스크립트 데이터가 <RichTextField>를 통해 브라우저에 렌더링될 때 발생

🛡️ 대응 방법

react-admin 및 ra-ui-materialui를 3.19.12 또는 4.7.6 이상의 버전으로 업데이트하거나, 서버 측에서 HTML 데이터를 반드시 정화해야 함

🔧 검증 코드

출력된 패키지 목록에서 react-admin과 ra-ui-materialui의 버전이 취약한 버전 범위에 있는지 확인

Shell / Script
npm list react-admin ra-ui-materialui

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N