🇰🇷 한글 설명
WordPress용 WP Composer 플러그인의 'pbwp_raw_shortcode' 숏코드에서 저장형 XSS 취약점이 발견되었습니다. 공격자가 Base64로 인코딩된 악성 스크립트를 삽입하면, 플러그인이 이를 검증 없이 디코딩하여 출력함으로써 스크립트가 실행됩니다. 이 취약점은 Contributor 권한 이상의 인증된 사용자에 의해 악용될 수 있습니다.
💡 쉬운 설명
웹사이트 편집 도구의 허점을 이용해 악성 코드를 숨겨서 저장하는 방식입니다. 코드가 암호화된 것처럼 보여 보안 필터를 통과한 뒤, 페이지를 보는 사람의 브라우저에서 실행됩니다.
🇺🇸 원문 (English)
The WP Composer – The Easiest Page Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'pbwp_raw_shortcode' shortcode in all versions up to, and including, 1.0.5. This is due to the shortcode handler decoding Base64-encoded content and outputting it directly without any sanitization or 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 Base64 encoding allows the payload to bypass WordPress's KSES content filtering at save time, since the encoded string contains no harmful HTML characters.
📍 영향받는 시스템
WP Composer – The Easiest Page Builder plugin (버전 1.0.5 이하 모든 버전)
⚔️ 공격 벡터
인증된 공격자가 Base64로 인코딩된 악성 스크립트를 포함한 숏코드를 페이지에 삽입
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 해당 숏코드 사용을 제한하고 입력값에 대한 Sanitization을 적용해야 합니다.
🔧 검증 코드
명령어 결과에 해당 플러그인 이름과 1.0.5 이하의 버전 정보가 출력되면 취약한 상태입니다.
wp plugin list --name wp-composer --format=json | grep -E '"version":"[0-1]\.[0-5]\."