🇰🇷 한글 설명
SureCart 워드프레스 플러그인 4.9.5 이하 버전에는 인증되지 않은 사용자가 계정 탈취를 할 수 있는 취약점이 존재합니다. 비밀번호 없는 일회용 코드 로그인 REST 경로에 시도 횟수 제한과 잠금 기능이 없어, 6자리 코드를 무차별 대입하여 관리자 계정까지 로그인할 수 있습니다.
💡 쉬운 설명
웹사이트 로그인 시 사용하는 6자리 인증 코드를 여러 번 추측해 관리자 계정에 몰래 들어갈 수 있는 보안 결함입니다. 공격자는 이를 통해 사이트 전체를 장악할 수 있습니다.
🇺🇸 원문 (English)
The SureCart plugin for WordPress is vulnerable to unauthenticated account takeover in all versions up to, and including, 4.9.5. The passwordless one-time-code login REST route (VerificationCodeController::verify(), whose permission callback returns true) resolves an attacker-supplied login to any WordPress user, verifies a 6-digit code, and on success calls $user->login() → wp_set_auth_cookie() for a user of any role. In the affected versions this path has no per-account attempt counter, no persistent email/IP lockout or rate limit (the upstream CDN throttle is bypassable via IP rotation), and no restriction preventing high-privilege accounts from being logged in through it. An unauthenticated attacker can trigger a code for any user (including an administrator) via the companion unauthenticated endpoint and brute-force the 6-digit code to obtain an authenticated session as that user, resulting in a full administrator account takeover.
📍 영향받는 시스템
SureCart 워드프레스 플러그인 4.9.5 이하 버전
⚔️ 공격 벡터
인증 없이 관리자 계정에 대해 코드를 요청한 뒤 6자리 인증 코드를 무차별 대입하여 세션을 획득
🛡️ 대응 방법
SureCart 플러그인을 4.9.6 이상 버전으로 즉시 업데이트하고 관리자 계정의 비밀번호 및 세션을 재설정
🔧 검증 코드
출력된 버전이 4.9.5 이하이면 취약하므로 업데이트가 필요하고, 4.9.6 이상이면 해당 취약점에 대한 조치가 완료된 상태입니다.
wp plugin get surecart --field=version 2>/dev/null || grep -i 'Version:' wp-content/plugins/surecart/surecart.php 2>/dev/null