🇰🇷 한글 설명
WordPress용 Divi Membership 플러그인 2.3.0 이하 버전에서 인증 우회 취약점이 발견되었습니다. `process_paypal_callback` 함수가 PayPal 결제 검증 과정에서 서명 확인이나 소유권 검증 없이 Base64로 인코딩된 사용자 ID를 신뢰하여, 공격자가 임의의 사용자 ID로 로그인할 수 있습니다. 이를 통해 공격자는 관리자 권한을 탈취하여 사이트 전체를 장악할 수 있습니다.
💡 쉬운 설명
결제 확인 과정에서 본인 확인 절차가 빠져 있어, 공격자가 가짜 정보를 보내 관리자로 로그인할 수 있는 보안 구멍입니다. 이 문제를 이용하면 누구나 사이트의 모든 권한을 마음대로 휘두를 수 있습니다.
🇺🇸 원문 (English)
The Divi Membership plugin for WordPress is vulnerable to Authentication Bypass in all versions up to, and including, 2.3.0. The `process_paypal_callback` function, hooked to the `init` action, accepts a base64-encoded `paypal_param` GET parameter with no IPN validation, no cryptographic signature check, no ownership verification, and no nonce, allowing it to trust an entirely attacker-controlled user ID value that is passed directly to `wp_set_current_user()` and `wp_set_auth_cookie()`. This makes it possible for unauthenticated attackers to log in as any existing WordPress user — including administrators — by supplying an arbitrary user ID in the `paypal_param` GET parameter, resulting in full site takeover. The vulnerability is further compounded by the fact that the PayPal gateway class is instantiated unconditionally regardless of whether PayPal is enabled or configured, ensuring the vulnerable hook is always registered on every front-end request.
📍 영향받는 시스템
Divi Membership plugin for WordPress (version 2.3.0 and below)
⚔️ 공격 벡터
Base64로 인코딩된 임의의 사용자 ID를 `paypal_param` GET 파라미터에 담아 전송하여 인증 우회
🛡️ 대응 방법
플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 Divi Membership 플러그인의 설치 여부와 버전을 확인하십시오.
wp plugin list --all | grep -i 'divi-membership'