🇰🇷 한글 설명
WP Full Pay의 Stripe Payment Forms 플러그인 8.5.2 미만 버전에서 결제 의도(payment intent)의 소유권을 검증하지 않는 취약점이 발견되었습니다. 인증되지 않은 공격자가 공개된 페이지의 논스(nonce)를 사용하여 결제 금액을 임의로 변경할 수 있으며, 이는 Stripe API를 통해 서버 측 금액까지 업데이트될 수 있습니다.
💡 쉬운 설명
결제 페이지를 이용하는 해커가 물건 값을 마음대로 낮추어 결제할 수 있는 보안 결함입니다. 플러그인이 결제 요청자가 실제 구매자인지 확인하지 않아 발생하는 문제입니다.
🇺🇸 원문 (English)
The Stripe Payment Forms by WP Full Pay WordPress plugin before 8.5.2 does not verify that the caller owns the Stripe payment intent referenced by two unauthenticated payment-form AJAX actions, allowing an unauthenticated visitor — using a nonce that is embedded in every public page containing a payment form — to change the amount of a payment intent that the Stripe Payment Forms by WP Full Pay WordPress plugin before 8.5.2 then updates server-side through the Stripe API with the store's secret key. An ownership check added in 8.5.0 was applied to only one payment-intent handler, leaving the pricing-recalculation and payment-intent-update actions unprotected against amount manipulation.
📍 영향받는 시스템
WordPress plugin: Stripe Payment Forms by WP Full Pay version < 8.5.2
⚔️ 공격 벡터
인증되지 않은 사용자가 AJAX 요청을 통해 결제 금액(amount)을 조작함
🛡️ 대응 방법
Stripe Payment Forms by WP Full Pay 플러그인을 8.5.2 이상 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 플러그인 버전이 8.5.2보다 낮은지 확인하십시오.
wp plugin list --status=active | grep -i 'wp-full-pay' && wp plugin list --format=json | jq '.[] | select(.name=="wp-full-pay") | .version'