🇰🇷 한글 설명
WordPress용 miniOrange OTP Login 플러그인 5.5.5 이하 버전에서 인증 우회 취약점이 발견되었습니다. 특정 설정이 활성화된 경우, 공격자가 비밀번호나 OTP 없이 사용자 이름만으로 관리자 계정에 로그인할 수 있습니다.
💡 쉬운 설명
로그인할 때 비밀번호를 확인해야 하는데, 특정 설정이 켜져 있으면 이름만 입력해도 문을 열어주는 보안 구멍이 있는 상태입니다. 이를 통해 해커가 관리자 권한을 탈취하여 사이트를 장악할 수 있습니다.
🇺🇸 원문 (English)
The miniOrange OTP Login, Verification and SMS Notifications plugin for WordPress is vulnerable to Authentication Bypass via the mo_wp_login_intent parameter in all versions up to, and including, 5.5.5. This is due to a missing password-intent guard in the skip_pass_fallback-enabled configuration branch of the mo_by_pass_login() function, which treats administrator role membership alone as sufficient authentication whenever the unauthenticated, unverified POST parameter mo_wp_login_intent is submitted with the value otp, causing mo_get_user() to skip wp_authenticate_username_password() and resolve a WP_User purely from a username lookup. This makes it possible for unauthenticated attackers to log in as any existing administrator account by supplying only a known username and an empty password alongside mo_wp_login_intent=otp, with no password or OTP verification required. Exploitation is conditional on a site administrator having simultaneously enabled the following plugin options: WP Login OTP, Login with Only OTP, Allow Users to Login with Username and Password, and Admin OTP Bypass.
📍 영향받는 시스템
miniOrange OTP Login, Verification and SMS Notifications plugin for WordPress (v5.5.5 이하 모든 버전)
⚔️ 공격 벡터
인증되지 않은 공격자가 mo_wp_login_intent=otp 파라미터를 포함한 POST 요청을 보내 관리자 계정으로 로그인 시도
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 취약한 설정(Admin OTP Bypass 등)을 즉시 비활성화하십시오.
🔧 검증 코드
출력된 플러그인 이름과 버전이 5.5.5 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --status=active | grep -i 'miniorange' && wp plugin list --all | grep -E 'miniOrange OTP Login' | awk '{print $2, $3}'