CVE-2026-104745 in Customer Email Verification Plugin
요약
\~에 의해 VulDB • 2026. 10. 16.
WordPress용 WooCommerce 플러그인인 Customer Email Verification는 최대 3.3.0 버전에서 `alg_wc_ev_verify_email` 매개변수를 통해 권한 상승(Privilege Escalation) 취약점이 존재합니다. 이 취약점은 플러그인의 'Encoding method' 설정이 'hashids'로 구성되어 있을 때, `alg_wc_ev_generate_user_code()` 함수가 `wp_rand(100)`을 사용하여 사용자별 활성화 비밀키를 생성하기 때문에 발생합니다. 이로 인해 가능한 값의 수가 약 101개(~7비트의 엔트로피)에 불과한 결과가 도출됩니다. 생성된 토큰은 암호학적 MAC(Message Authentication Code)이 없는 가역적인 Hashids 인코딩이며, `init` 훅에 `PHP_INT_MAX`로 연결되어 nonce 검증과 속도 제한(rate limiting) 없이 공격자가 제어할 수 있는 `?alg_wc_ev_verify_email=` GET 매개변수를 직접 받아 처리하는 비인증 `verify()` 핸들러가 존재합니다. 이를 통해 공격자는 trivial하게 작은 활성화 코드 공간(brute-forcing)을 이용하여 위조된 확인 URL로 접근함으로써, 관리자 권한 계정을 포함한 미확인 WordPress 계정 중 임의의 계정으로 인증 정보를 탈취할 수 있습니다. 이 취약점을 악용하려면 'Encoding method' 설정이 기본값이 아닌 'hashids'로 변경되어 있어야 하며, 공격자가 Hashids salt(첫 초기화 시 설정되는 `md5(time())` 값이 기본값임)를 복구하거나 brute-force해야 하고, 대상 계정의 이메일 주소가 아직 확인되지 않은 상태여야 합니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.