🇰🇷 한글 설명
WordPress용 Payment Plugins for Stripe WooCommerce 플러그인 4.0.7 이하 버전에서 권한 우회 취약점이 발견되었습니다. 공격자는 웹훅 비밀 키가 설정되지 않은 상태를 악용하여 임의의 대기 중인 주문을 결제 완료 상태로 조작할 수 있습니다. 이를 통해 실제 결제 없이 상품이나 서비스를 수령할 수 있는 위험이 있습니다.
💡 쉬운 설명
결제 확인 절차가 제대로 이루어지지 않아, 돈을 내지 않고도 주문을 완료된 것으로 속일 수 있는 보안 구멍이 있습니다. 특히 결제 보안 키를 설정하지 않은 쇼핑몰이 공격 대상이 됩니다.
🇺🇸 원문 (English)
The Payment Plugins for Stripe WooCommerce plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.0.7. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to mark arbitrary pending asynchronous WooCommerce orders as paid by forging a charge.pending event with attacker-controlled metadata.order_id, metadata.gateway_id, and a charge object carrying status=succeeded and captured=true, triggering payment_complete() and downstream fulfillment flows with an attacker-supplied transaction ID. Exploitation requires the merchant to have left the webhook_secret_test or webhook_secret_live option blank, which is the plugin's default state until a Stripe-issued whsec_ value is manually configured; once a non-empty secret is set, the signature verification cannot be bypassed.
📍 영향받는 시스템
Payment Plugins for Stripe WooCommerce plugin (v4.0.7 및 그 이하 모든 버전)
⚔️ 공격 벡터
웹훅 비밀 키(webhook_secret)가 비어 있는 상태에서 조작된 결제 완료 이벤트를 전송하여 권한을 우회함
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하고, Stripe에서 발급받은 webhook_secret_test 또는 webhook_secret_live 값을 반드시 설정하십시오.
🔧 검증 코드
출력된 플러그인 목록에서 해당 플러그인의 버전을 확인하여 4.0.7 이하인지 체크하십시오.
wp plugin list --status=active | grep -i 'stripe-woocommerce'