🇰🇷 한글 설명
Paid Membership Plugin 4.16.18 미만 버전에서 프론트엔드 회원가입 시 설정된 역할 제한이 일관되게 적용되지 않는 취약점이 발견되었습니다. 서로 다른 두 파서가 역할을 처리하는 과정에서 발생하는 논리적 오류와 Nonce 부재로 인해, 인증되지 않은 사용자가 에디터나 작성자와 같은 높은 권한의 계정을 생성할 수 있습니다.
💡 쉬운 설명
회원가입 페이지에서 정해진 권한보다 더 높은 권한을 가진 계정을 몰래 만들 수 있는 보안 결함입니다. 공격자는 일반 사용자가 아닌 관리자급 권한을 가진 계정을 생성하여 사이트를 장악할 수 있습니다.
🇺🇸 원문 (English)
The Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content WordPress plugin before 4.16.18 does not consistently enforce the role restriction configured on its front-end registration role-selection field. The set of roles offered to the visitor and the set of roles the registration handler accepts are derived by two different parsers, and for some valid ways of configuring the offered roles the handler ignores the restriction and falls back to accepting any non-administrator role. Combined with the absence of a nonce on the public registration handler, this allows an unauthenticated visitor to register an account with a higher role, such as Editor or Author, than the form was configured to offer.
📍 영향받는 시스템
Paid Membership Plugin (WordPress plugin) version < 4.16.18
⚔️ 공격 벡터
인증되지 않은 공격자가 조작된 요청을 통해 회원가입 핸들러에 높은 권한(Editor, Author 등)을 전달하여 계정 생성
🛡️ 대응 방법
Paid Membership Plugin을 최신 버전인 4.16.18 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 플러그인 버전이 4.16.18 미만인지 확인하십시오.
wp plugin list --status=active | grep -i 'paid-membership' | awk '{print $2, $3}'