🇰🇷 한글 설명
WordPress용 Export and Import Users and Customers 플러그인 2.7.5 이하 버전에는 내보내기와 가져오기 간 CSV 이스케이프 문자 불일치로 인한 권한 상승 취약점이 존재합니다. 인증된 Subscriber 권한의 공격자가 조작된 CSV 데이터를 통해 관리자 계정을 생성할 수 있습니다.
💡 쉬운 설명
이 플러그인은 사용자 정보를 파일로 내보내고 다시 가져올 때 데이터를 잘못 해석합니다. 공격자는 일반 회원 권한으로도 이 허점을 이용해 관리자 계정을 몰래 만들 수 있습니다.
🇺🇸 원문 (English)
The Export and Import Users and Customers plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.7.5 via the plugin's own export and re-import workflow. The vulnerability exists because of a CSV escape-character mismatch between the exporter and the importer: class-csvwriter.php writes cells with fputcsv() using PHP's default backslash (\) escape character, while class-csvreader.php parses the same file with fgetcsv() using a double-quote (") as the escape character. As a result, a crafted value stored in a Subscriber's Biographical Info field — containing a backslash-quote sequence followed by a newline — is written as a single quoted CSV field but parsed back as two separate rows on import. The injected second row is then processed by hf_create_customer() as a new user record whose user_login, user_pass, user_email, and role are entirely attacker-controlled, allowing the creation of an arbitrary Administrator account. This makes it possible for authenticated attackers with Subscriber-level access and above to escalate their privileges to Administrator.
📍 영향받는 시스템
Export and Import Users and Customers 플러그인 2.7.5 이하 모든 WordPress 설치 환경
⚔️ 공격 벡터
Subscriber 권한 계정의 Biographical Info 필드에 백슬래시-따옴표와 줄바꿈이 포함된 값을 저장한 뒤 내보내기/가져오기를 통해 악성 관리자 레코드를 주입
🛡️ 대응 방법
플러그인을 2.7.6 이상 버전으로 업데이트하거나, 취약 버전을 비활성화 후 제거하고 관리자 계정 목록을 점검
🔧 검증 코드
출력된 버전이 2.7.5 이하이면 취약하며, 2.7.6 이상이면 패치가 적용된 것입니다.
wp plugin get export-and-import-users-and-customers --field=version 2>/dev/null