🇰🇷 한글 설명
WordPress용 s2Member 플러그인의 'first_name' 매개변수에서 발생하는 원격 코드 실행(RCE) 취약점입니다. esc_refs() 함수의 불충분한 필터링과 PayPal 검증 키 노출이 결합되어, 인증되지 않은 공격자가 서버에서 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
웹사이트의 회원 가입 양식에 악성 코드를 입력하여 서버를 해킹할 수 있는 심각한 결함입니다. 공격자가 사이트의 보안 키를 알아낼 수 있어, 가짜 결제 정보를 보내 시스템을 장악할 수 있습니다.
🇺🇸 원문 (English)
The s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 260814 via the 'first_name' parameter parameter. This is due to insufficient sanitization of the first_name parameter via esc_refs(), which strips only regex backreferences and not PHP tags, before substitution into the eval'd Signup Tracking Codes template, combined with disclosure of the site-global proxy verification key that allows PayPal postback verification to be bypassed. This makes it possible for unauthenticated attackers to execute code on the server. Successful exploitation requires that the site administrator has configured a Signup Tracking Codes template containing the %%first_name%% placeholder (a documented, GUI-supported feature) and that the attacker has obtained the site-global proxy verification key, which is exposed in plaintext in the JSON response of any PayPal Checkout AJAX request on the target site.
📍 영향받는 시스템
s2Member plugin for WordPress (version 260814 and below)
⚔️ 공격 벡터
PayPal AJAX 요청에서 노출된 검증 키를 탈취한 후, 'first_name' 매개변수에 PHP 태그를 포함한 악성 페이로드를 주입하여 실행
🛡️ 대응 방법
s2Member 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력 결과에 s2member가 포함되어 있다면 해당 플러그인이 설치된 것이며, 설치된 버전을 확인하여 취약 버전 여부를 판단하십시오.
wp plugin list --status=active | grep -i 's2member'