🇰🇷 한글 설명
Trix WYSIWYG 에디터 2.1.18 미만 버전에서 발생하는 저장형 XSS 취약점입니다. 조작된 HTML을 에디터에 붙여넣을 경우, HTMLParser가 잘못된 첨부 파일 데이터를 처리하여 검증되지 않은 javascript: URI를 문서 모델에 삽입할 수 있습니다. 이로 인해 다른 사용자가 해당 콘텐츠를 렌더링하고 클릭할 때 악성 스크립트가 실행될 수 있습니다.
💡 쉬운 설명
글쓰기 도구인 Trix 에디터에 특수한 코드가 포함된 내용을 붙여넣으면 해킹 코드가 저장될 수 있습니다. 다른 사람이 저장된 글을 읽다가 링크를 클릭하면 공격자가 의도한 악성 동작이 실행될 위험이 있습니다.
🇺🇸 원문 (English)
Trix is a what-you-see-is-what-you-get rich text editor for everyday writing. Prior to 2.1.18, Trix is vulnerable to stored cross-site scripting when crafted HTML is pasted into the editor. HTMLParser processes a mock attachment in a `<span>` with an empty `data-trix-attachment="{}"` value, causing data-trix-attributes to be applied to a plain string piece. StringPiece.fromJSON accepts an unvalidated href, allowing a javascript: URI to enter the document model and serialized HTML and execute when another user renders and clicks the content. Applications that apply server-side HTML sanitization can neutralize the payload on save. This issue is fixed in version 2.1.18.
📍 영향받는 시스템
Trix rich text editor versions prior to 2.1.18
⚔️ 공격 벡터
에디터에 조작된 HTML(data-trix-attachment 속성 활용)을 붙여넣어 스크립트가 포함된 링크를 삽입하는 방식
🛡️ 대응 방법
Trix 에디터를 2.1.18 버전 이상으로 업데이트하거나, 서버 측에서 HTML Sanitization을 적용하여 악성 태그를 제거해야 합니다.
🔧 검증 코드
출력된 버전 번호가 2.1.18 미만인지 확인합니다.
npm list trix 2>/dev/null | grep -E 'trix@'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server