🇰🇷 한글 설명
Plate는 AI와 shadcn/ui를 결합한 리치 텍스트 에디터입니다. 53.0.0부터 53.1.4 이전 버전에서는 미디어 임베드 렌더러가 직렬화된 provider 또는 sourceUrl 메타데이터를 검증 없이 신뢰하고 parseMediaUrl의 프로토콜 검증을 생략하여, 조작된 문서가 url을 javascript: iframe 소스로 유지한 채 알려진 비디오 provider를 설정할 수 있습니다. 피해자가 해당 문서를 열면 이 값이 iframe src로 직접 렌더링됩니다. 53.1.4 버전에서 수정되었습니다.
💡 쉬운 설명
문서 편집기에서 특정 동영상 삽입 기능의 입력 검증이 부족해, 악의적인 문서를 열면 스크립트가 실행될 수 있습니다. 최신 버전으로 업데이트하면 이 문제가 해결됩니다.
🇺🇸 원문 (English)
Plate is a rich-text editor with AI and shadcn/ui. From 53.0.0 until 53.1.4, the media embed renderer trusts serialized provider or sourceUrl metadata in useMediaState and skips parseMediaUrl protocol validation, allowing a crafted Plate document to set a known video provider while keeping url as a javascript: iframe source that the registry MediaEmbedElement renders directly as an iframe src when a victim opens the document. This issue is fixed in version 53.1.4.
📍 영향받는 시스템
Plate 리치 텍스트 에디터 53.0.0 이상 53.1.4 미만 버전
⚔️ 공격 벡터
공격자가 조작된 Plate 문서를 만들어 피해자가 열면, javascript: URL이 iframe으로 렌더링되어 악성 스크립트가 실행됨
🛡️ 대응 방법
Plate를 53.1.4 이상 버전으로 업그레이드하고, 신뢰할 수 없는 출처의 문서 렌더링을 제한
🔧 검증 코드
출력된 버전이 53.0.0 이상 53.1.4 미만이면 취약하며, 53.1.4 이상이면 패치된 상태입니다. 패키지가 없으면 결과가 비어 있습니다.
npm ls @udecode/plate 2>/dev/null | grep -E '@udecode/plate@'