🇰🇷 한글 설명
SSL Wireless SMS Notification for WordPress 플러그인 3.8.1 이하 버전에는 인증 우회 취약점이 존재합니다. 공개 final_login_ajax_action 핸들러가 OTP 검증 없이 전화번호와 공격자가 지정한 cap_data만으로 사용자를 조회하여 인증 세션을 발급합니다. 이로 인해 인증되지 않은 공격자가 사용자의 전화번호만 알면 해당 계정을 탈취할 수 있습니다.
💡 쉬운 설명
이 플러그인은 문자 인증번호를 확인하지 않고 로그인을 허용하는 문제가 있습니다. 누군가 사용자의 전화번호만 알면 비밀번호 없이 그 계정에 로그인할 수 있습니다.
🇺🇸 원문 (English)
SSL Wireless SMS Notification for WordPress is vulnerable to Authentication Bypass in all versions up to, and including, 3.8.1. The public final_login_ajax_action handler resolves a user and issues an authenticated session by matching the wp_sslcare_otp table on only the attacker-supplied phone and cap_data, without verifying the SMS OTP or any server-side single-use state. Because cap_data was chosen by the attacker in the public otp_login_ajax_action step (which stores the row before sending the SMS), the finalize step trivially matches and the user is looked up solely by the sslcare_login_phone meta. This makes it possible for unauthenticated attackers who know a phone-linked user's number to take over that account.
📍 영향받는 시스템
SSL Wireless SMS Notification for WordPress 플러그인 3.8.1 이하 모든 버전
⚔️ 공격 벡터
공격자가 공개 AJAX 엔드포인트에 대상 사용자의 전화번호와 임의의 cap_data를 보내 OTP 검증 없이 인증 세션을 획득
🛡️ 대응 방법
플러그인을 3.8.1보다 높은 패치 버전으로 업데이트하거나, 패치 전까지 플러그인을 비활성화
🔧 검증 코드
출력된 버전이 3.8.1 이하이면 취약하며, 패치된 상위 버전이면 조치가 완료된 것입니다. 출력이 없으면 플러그인이 설치되지 않은 것입니다.
wp plugin get sslcare-sms-notification --field=version 2>/dev/null || grep -i 'Version:' wp-content/plugins/*sms*/*.php 2>/dev/null | head -n 1