🇰🇷 한글 설명
WordPress용 Amelia 플러그인 2.1.3 이하 버전에서 발생하는 IDOR 취약점입니다. Provider(직원) 권한을 가진 사용자가 자신의 프로필을 업데이트할 때 externalId 필드를 조작하여 다른 사용자의 ID로 매핑할 수 있으며, 이를 통해 관리자를 포함한 모든 WordPress 계정을 탈취할 수 있습니다.
💡 쉬운 설명
직원 권한을 가진 사용자가 자신의 정보를 수정하는 척하면서 시스템의 다른 사용자 정보를 몰래 바꿀 수 있는 결함입니다. 이 방법을 통해 사이트의 최고 관리자 권한을 가로챌 수 있어 매우 위험합니다.
🇺🇸 원문 (English)
The Booking for Appointments and Events Calendar – Amelia plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 2.1.3. This is due to the `UpdateProviderCommandHandler` failing to validate changes to the `externalId` field when a Provider (Employee) user updates their own profile. The `externalId` maps directly to a WordPress user ID and is passed to `wp_set_password()` and `wp_update_user()` without authorization checks. This makes it possible for authenticated attackers, with Provider-level (Employee) access and above, to take over any WordPress account — including Administrator — by injecting an arbitrary `externalId` value when updating their own provider profile.
📍 영향받는 시스템
WordPress Amelia plugin versions up to and including 2.1.3
⚔️ 공격 벡터
인증된 Provider 권한 사용자가 프로필 업데이트 시 externalId 필드에 타겟 사용자의 ID를 주입하여 계정 탈취
🛡️ 대응 방법
Amelia 플러그인을 최신 버전으로 업데이트하거나, 외부 ID 업데이트 로직에 대한 권한 검증이 포함된 패치를 적용하십시오.
🔧 검증 코드
출력된 결과에서 amelia 플러그인의 버전이 2.1.3 이하인지 확인하십시오.
wp plugin list --status=active | grep -i amelia