🇰🇷 한글 설명
The Document Embedder 플러그인(2.4.0 이하)에서 입력값 검증과 출력 이스케이프가 부족하여 Stored DOM 기반 XSS가 발생합니다. 기여자(Contributor) 이상 권한의 공격자가 문서 임베드 블록 데이터에 악성 스크립트를 삽입할 수 있으며, 피해자가 임베드된 문서의 다운로드 버튼을 클릭할 때 스크립트가 실행됩니다.
💡 쉬운 설명
워드프레스 문서 임베드 플러그인의 취약점으로, 글을 작성할 수 있는 사용자가 페이지에 악성 코드를 숨길 수 있습니다. 방문자가 문서의 다운로드 버튼을 누르면 그 악성 코드가 실행됩니다.
🇺🇸 원문 (English)
The Document Embedder – let visitors read files without downloading plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via the 'content (post_content containing block JSON documentSource.doc)' parameter in all versions up to, and including, 2.4.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The payload is triggered specifically when the victim clicks the embedded document's Download button, which causes the de_track_download AJAX fallback path to programmatically create an anchor with the attacker-controlled href and call .click() — a condition reached because supplying docId=0 causes can_read_document() to return false, bypassing the normal download flow.
📍 영향받는 시스템
The Document Embedder 워드프레스 플러그인 2.4.0 이하 버전
⚔️ 공격 벡터
기여자 이상 권한의 공격자가 블록 JSON의 documentSource 값에 악성 스크립트를 삽입하고, 피해자가 다운로드 버튼을 클릭하도록 유도
🛡️ 대응 방법
플러그인을 2.4.0 초과 버전(패치된 최신 버전)으로 업데이트하고, 신뢰할 수 없는 기여자 계정 권한을 점검
🔧 검증 코드
출력된 버전이 2.4.0 이하이면 취약하며, 2.4.0 초과이면 패치가 적용된 것입니다.
wp plugin list --name=document-embedder --field=version 2>/dev/null