🇰🇷 한글 설명
WPForms 플러그인의 PayPal Commerce 웹훅 엔드포인트가 데이터의 진위 여부를 검증하지 않는 취약점이 발견되었습니다. 공격자는 HMAC-SHA256 서명 검증 없이 조작된 JSON 페이로드를 전송하여 결제 기록을 수정할 수 있습니다. 이를 통해 취소되거나 중지된 구독 상태를 강제로 활성화하는 등의 행위가 가능합니다.
💡 쉬운 설명
결제 정보를 확인하는 과정에서 가짜 신호를 구별하지 못하는 보안 허점이 있습니다. 해커가 가짜 결제 완료 신호를 보내면, 돈을 내지 않고도 유료 서비스를 계속 이용할 수 있습니다.
🇺🇸 원문 (English)
The WPForms – Easy Form Builder for WordPress – Contact Forms, Payment Forms, Surveys, & More plugin for WordPress is vulnerable to Insufficient Verification of Data Authenticity in versions up to and including 1.10.0.1. This is due to the PayPal Commerce webhook endpoint processing unauthenticated JSON webhook payloads without verifying that the request originated from PayPal using the required HMAC-SHA256 webhook signature, and only checking whether the supplied event_type is whitelisted before dispatching the attacker-controlled resource data to handlers that update payment records. This makes it possible for unauthenticated attackers who know a valid PayPal subscription_id to forge PayPal webhook events and modify subscription payment records, such as reactivating a cancelled or suspended subscription by setting its subscription_status to active.
📍 영향받는 시스템
WPForms plugin versions up to and including 1.10.0.1
⚔️ 공격 벡터
유효한 subscription_id를 이용해 서명이 없는 조작된 PayPal 웹훅 페이로드를 전송
🛡️ 대응 방법
WPForms 플러그인을 최신 버전으로 업데이트하여 웹훅 서명 검증 기능을 적용하십시오.
🔧 검증 코드
출력된 WPForms의 버전이 1.10.0.1 이하인지 확인하십시오.
wp plugin list --status=active | grep -i 'wpforms'