🇰🇷 한글 설명
FlexStock – Product Stock Sync with Google Sheets for WooCommerce 플러그인 3.17.2 이하 버전에는 products[].post_content 파라미터의 입력값 검증과 출력 이스케이프가 부족해 저장형 XSS 취약점이 존재합니다. 구독자 권한의 인증된 사용자가 REST 토큰 노출과 권한 검사 누락을 이용해 악성 스크립트를 주입할 수 있습니다.
💡 쉬운 설명
구독자 권한만 가진 사용자가 상품 정보에 악성 스크립트를 심을 수 있습니다. 이 페이지를 방문한 다른 사용자의 브라우저에서 해당 스크립트가 실행됩니다.
🇺🇸 원문 (English)
The FlexStock – Product Stock Sync with Google Sheets for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'products[].post_content' parameter in all versions up to, and including, 3.17.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is exploitable by any Subscriber-level user because the plugin's admin_enqueue_scripts callback exposes the REST bearer token in the Dashboard page source via wp_localize_script() without a capability check, and the REST endpoint's permission_callback validates only that bearer token rather than performing a current_user_can() capability check.
📍 영향받는 시스템
WordPress 및 WooCommerce용 FlexStock 플러그인 3.17.2 이하 버전
⚔️ 공격 벡터
구독자 권한 계정으로 상품 post_content에 악성 스크립트를 저장하여 방문자 브라우저에서 실행
🛡️ 대응 방법
FlexStock 플러그인을 3.17.2 초과의 패치된 버전으로 업데이트하고, 업데이트 전까지 플러그인을 비활성화하거나 구독자 계정의 접근을 제한
🔧 검증 코드
출력된 버전이 3.17.2 이하이면 취약하며, 3.17.2를 초과하는 버전이면 패치된 것입니다.
wp plugin list --name=flexstock-product-stock-sync --field=version 2>/dev/null