🇰🇷 한글 설명
WordPress의 Frontend Admin by DynamiApps 플러그인 3.29.9 이하 버전에서 권한 상승 취약점이 발견되었습니다. 공격자가 특정 AJAX 엔드포인트에 조작된 비숫자형 문자열을 전달하면 권한 확인 로직이 우회되어 관리자 계정의 정보를 탈취하거나 수정할 수 있습니다.
💡 쉬운 설명
웹사이트 관리 도구의 보안 검사 과정에서 숫자가 아닌 값을 넣으면 검사를 건너뛰는 허점이 발견되었습니다. 이를 통해 해커가 로그인 없이도 관리자 권한을 얻어 사이트를 장악할 수 있습니다.
🇺🇸 원문 (English)
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.29.9. The vulnerability exists because `ActionUser::conditions_logic()` gates the `current_user_can('edit_user', $user_id)` authorization check behind an `is_numeric()` test, causing the check to be skipped entirely when `$user_id` is a non-numeric string — a condition that can be induced by passing a crafted value such as `1one` through the unvalidated `item_id` parameter of the unauthenticated `wp_ajax_nopriv_frontend_admin/forms/change_form` AJAX endpoint. This makes it possible for attackers to escalate privileges to administrator by obtaining a server-signed `_acf_objects` payload carrying the non-numeric user ID, which WordPress subsequently coerces to integer 1 (the default administrator), allowing the attacker to overwrite that account's password or email address. Exploitation by unauthenticated users requires a public-facing frontend user form to be configured; in all other cases a subscriber-level account is sufficient.
📍 영향받는 시스템
WordPress Frontend Admin by DynamiApps plugin (버전 3.29.9 및 그 이하 모든 버전)
⚔️ 공격 벡터
인증되지 않은 사용자가 AJAX 엔드포인트의 item_id 파라미터에 조작된 비숫자형 문자열을 전송하여 권한 확인 로직 우회
🛡️ 대응 방법
해당 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 플러그인 목록에서 frontend-admin의 버전을 확인하여 3.29.9 이하인지 체크합니다.
wp plugin list --status=active | grep -E 'frontend-admin'