🇰🇷 한글 설명
WordPress용 tagDiv Composer 플러그인의 vc_raw_html 쇼트코드에서 저장형 XSS 취약점이 발견되었습니다. 입력값에 대한 불충분한 검증과 출력 이스케이프 미비로 인해, Base64로 인코딩된 악성 스크립트가 필터를 우회하여 페이지에 직접 삽입될 수 있습니다. 이를 통해 기여자(Contributor) 이상의 권한을 가진 공격자가 임의의 웹 스크립트를 실행할 수 있습니다.
💡 쉬운 설명
플러그인의 특정 기능을 악용하여 악성 코드를 몰래 숨겨두는 취약점입니다. 권한이 있는 사용자가 게시물을 작성할 때 코드를 심어두면, 관리자가 해당 페이지를 볼 때 해킹을 당할 수 있습니다.
🇺🇸 원문 (English)
The tagDiv Composer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the vc_raw_html shortcode in all versions up to and including 5.4.5. This is due to insufficient input sanitization and output escaping in the vc_raw_html::render() method, which base64-decodes shortcode content (after a strip_tags() that is bypassed because the encoded payload contains no tags on save) and concatenates the result directly into the page HTML. Because WordPress's save-time wp_kses_post() filter only sees the inert base64 text inside a normal shortcode bracket and does not decode it, the dangerous tags survive into post_content and are emitted unescaped at render time. 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 (for example, when an Editor or Administrator previews the pending post).
📍 영향받는 시스템
tagDiv Composer plugin for WordPress (version 5.4.5 및 그 이하 모든 버전)
⚔️ 공격 벡터
기여자(Contributor) 이상의 권한을 가진 공격자가 vc_raw_html 쇼트코드 내에 Base64로 인코딩된 악성 스크립트를 삽입하여 저장
🛡️ 대응 방법
tagDiv Composer 플러그인을 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 tagdiv-composer의 버전이 5.4.5 이하인지 확인하십시오.
wp-cli plugin list --allow-root | grep -E 'tagdiv-composer'