🇰🇷 한글 설명
Waitlist Woocommerce(Back in stock notifier) 워드프레스 플러그인 2.9.1 이하 버전에는 'type' 숏코드 속성을 통한 저장형 크로스사이트 스크립팅 취약점이 존재합니다. 기여자(Contributor) 이상 권한의 인증된 공격자가 악성 스크립트를 삽입할 수 있으며, 해당 페이지에 접근하는 사용자의 브라우저에서 스크립트가 실행됩니다. wp_kses_post 필터는 숏코드 속성값을 HTML로 취급하지 않아 이를 차단하지 못합니다.
💡 쉬운 설명
글을 쓸 수 있는 일반 사용자가 페이지에 숨겨진 악성 코드를 심을 수 있습니다. 이 페이지를 방문한 다른 사용자는 모르는 사이에 악성 코드가 실행될 수 있습니다.
🇺🇸 원문 (English)
The Waitlist Woocommerce ( Back in stock notifier ) plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'type' Shortcode Attribute in all versions up to, and including, 2.9.1 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 wp_kses_post filter applied on contributor post save does not prevent this vulnerability because shortcode attribute values are not HTML and pass through kses unchanged; the payload is materialized only at render time when the shortcode is expanded.
📍 영향받는 시스템
Waitlist Woocommerce(Back in stock notifier) 플러그인 2.9.1 이하 모든 버전의 WordPress 사이트
⚔️ 공격 벡터
기여자 권한 이상의 계정으로 숏코드 'type' 속성에 악성 스크립트를 포함한 게시물을 저장하면, 렌더링 시점에 스크립트가 실행됨
🛡️ 대응 방법
Waitlist Woocommerce 플러그인을 2.9.2 이상 버전으로 즉시 업데이트하고, 의심스러운 게시물의 숏코드 속성을 점검
🔧 검증 코드
출력된 버전이 2.9.1 이하이면 취약하며, 2.9.2 이상이면 패치가 적용된 것입니다.
wp plugin list --name=waitlist-woocommerce --fields=name,version 2>/dev/null || grep -r "Version:" wp-content/plugins/waitlist-woocommerce/*.php 2>/dev/null | head -1