🇰🇷 한글 설명
WordPress의 Easy Elements for Elementor 플러그인 1.4.5 이하 버전에서 권한 상승 취약점이 발견되었습니다. `easyel_handle_register()` 함수가 사용자 등록 시 입력된 메타 데이터를 검증 없이 처리하여, 공격자가 관리자 권한을 가진 계정을 생성할 수 있습니다.
💡 쉬운 설명
로그인하지 않은 외부인이 회원가입을 할 때, 특수한 코드를 섞어 보내면 자동으로 관리자 권한을 얻을 수 있는 보안 결함입니다. 사이트의 모든 제어권을 탈취당할 수 있어 매우 위험합니다.
🇺🇸 원문 (English)
The Easy Elements for Elementor – Addons & Website Templates plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.4.5 via the `easyel_handle_register()` function. This is due to the `wp_ajax_nopriv_eel_register` AJAX handler iterating the attacker-controlled `custom_meta` POST array and writing every supplied key-value pair to the newly created user's meta via `update_user_meta()` without any key whitelist or blocklist, allowing the `wp_capabilities` user meta key to be overwritten after `wp_insert_user()` has already assigned a safe role. This makes it possible for unauthenticated attackers to register a new account with full administrator-level privileges by supplying `custom_meta[wp_capabilities][administrator]=1`. Exploitation requires that user registration is enabled on the site and that at least one page exposes the Login/Register widget, which publishes the required `easy_elements_nonce` into the page DOM where it can be retrieved by any unauthenticated visitor via a simple GET request.
📍 영향받는 시스템
Easy Elements for Elementor – Addons & Website Templates plugin (v1.4.5 및 그 이하 모든 버전)
⚔️ 공격 벡터
비인증 공격자가 AJAX 요청 시 `custom_meta[wp_capabilities][administrator]=1` 파라미터를 전송하여 관리자 계정 생성
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하고, 불필요한 경우 WordPress 사용자 등록 기능을 비활성화하십시오.
🔧 검증 코드
출력된 플러그인 버전이 1.4.5 이하인지 확인하여 취약 여부를 판단합니다.
wp plugin list --status=active | grep -i 'easy-elements' && wp plugin list --all | grep -E 'easy-elements' | awk '{print $2 " " $3}'