🇰🇷 한글 설명
WordPress용 Dokan 플러그인 5.0.1 이하 버전에서 권한 상승 취약점이 발견되었습니다. CustomersController의 권한 검증 미흡으로 인해, 판매자 권한을 가진 공격자가 관리자를 포함한 모든 사용자의 정보를 읽거나 수정 및 삭제할 수 있습니다. 특히 관리자의 비밀번호를 변경할 경우 사이트 전체의 제어권을 탈취할 수 있습니다.
💡 쉬운 설명
판매자 권한을 가진 사용자가 시스템의 보안 검사를 우회하여 관리자 계정을 마음대로 조작할 수 있는 문제입니다. 이를 통해 공격자는 관리자 비밀번호를 바꿔 사이트 전체를 장악할 수 있습니다.
🇺🇸 원문 (English)
The Dokan plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 5.0.1. This is due to a missing authorization check in the `CustomersController` REST controller (`includes/REST/CustomersController.php`), which re-registers WooCommerce's customer CRUD routes under the `/dokan/v1/customers/` namespace and replaces WooCommerce's native `manage_woocommerce` capability check with a vendor-only check that inspects the **requesting** user's role and never validates the **target** user. This makes it possible for authenticated attackers with Vendor/Seller-level access and above to read, modify, or delete any WordPress user — including administrators — via `GET`/`PUT`/`DELETE` requests against `/wp-json/dokan/v1/customers/{id}`. Setting the `password` parameter on an administrator's record yields a full site takeover.
📍 영향받는 시스템
Dokan plugin for WordPress (version 5.0.1 and below)
⚔️ 공격 벡터
인증된 판매자 권한을 이용해 /wp-json/dokan/v1/customers/{id} API 엔드포인트에 GET, PUT, DELETE 요청 전송
🛡️ 대응 방법
Dokan 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 Dokan 플러그인의 버전이 5.0.1 이하인지 확인하십시오.
wp plugin list --status=active | grep -i dokan