🇰🇷 한글 설명
WordPress용 Welcart e-Commerce 플러그인 2.12.5 이하 모든 버전에는 'member[ID]' 매개변수에서 사용자 제어 키에 대한 검증이 누락되어 발생하는 안전하지 않은 직접 객체 참조(IDOR) 취약점이 있습니다. 인증되지 않은 공격자가 회원 번호만 입력하여 기존 Welcart 회원 계정의 이메일과 비밀번호를 덮어쓰고, 이후 해당 계정으로 로그인하여 계정을 완전히 장악할 수 있습니다. 인증 장벽은 누구나 볼 수 있는 신규 회원가입 폼에 출력된 nonce 하나뿐입니다.
💡 쉬운 설명
누구나 회원가입 페이지에서 확인할 수 있는 값만으로 다른 사람의 쇼핑몰 계정 이메일과 비밀번호를 바꿀 수 있습니다. 그 결과 공격자가 해당 사용자의 계정을 완전히 빼앗을 수 있습니다.
🇺🇸 원문 (English)
The Welcart e-Commerce plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 2.12.5 via the 'member[ID]' parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to overwrite any existing Welcart shop-member account's email address and password by supplying that member's numeric ID, then authenticate as that member to achieve full account takeover. The only authentication barrier is a wp_verify_nonce() check against a nonce printed to every unauthenticated visitor on the auto-published New Enrollment Form, meaning no existing account, no WordPress login, and no non-default configuration is required to exploit this vulnerability.
📍 영향받는 시스템
WordPress용 Welcart e-Commerce 플러그인 2.12.5 이하 모든 버전
⚔️ 공격 벡터
비인증 공격자가 신규 회원가입 폼에서 nonce를 얻은 뒤 member[ID]에 대상 회원 번호를 넣어 요청해 이메일과 비밀번호를 변경하고 해당 계정으로 로그인합니다.
🛡️ 대응 방법
Welcart e-Commerce 플러그인을 2.12.5보다 높은 패치 버전으로 즉시 업데이트하고, 패치 전까지는 플러그인을 비활성화하거나 회원 정보 수정 기능을 차단합니다.
🔧 검증 코드
출력된 버전이 2.12.5 이하이면 취약한 것이므로 패치가 필요하며, 2.12.5보다 높은 버전이면 이 CVE에 해당하지 않습니다. 명령이 결과를 출력하지 않으면 플러그인이 설치되지 않았거나 경로가 다른 것입니다.
wp plugin get welcart-e-commerce --field=version 2>/dev/null || grep -m1 'Version:' wp-content/plugins/usc-e-shop/usc-e-shop.php 2>/dev/null