🇰🇷 한글 설명
WordPress의 Optima Express IDX 플러그인 8.7.5 이하 버전에서 권한 상승 취약점이 발견되었습니다. 특정 AJAX 액션을 통해 권한 확인이나 논스 검증 없이 실행되는 함수가 'optima-express' 계정의 역할을 'author'로 강제 변경할 수 있습니다. 공격자는 이를 통해 게시물 작성 및 파일 업로드 권한을 획득할 수 있습니다.
💡 쉬운 설명
해커가 특정 아이디를 미리 만들어두면, 시스템이 해당 아이디에 관리자급 권한을 자동으로 부여해버리는 보안 구멍이 있습니다. 이를 통해 누구나 글을 쓰거나 파일을 올리는 등 사이트를 마음대로 조작할 수 있습니다.
🇺🇸 원문 (English)
The Optima Express IDX plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 8.7.5. This is due to the `provisionBlogCredentials()` function in `iHomefinderAdmin.php` being reachable via the `wp_ajax_nopriv_ihf_clear_cache` AJAX action — through the call chain `iHomefinderAjaxHandler::clearCache()` → `activateAuthenticationToken()` → `getAuthenticationInfo()` → `provisionBlogCredentials()` — with no capability check, nonce verification, or ownership validation, and the function unconditionally calling `$user->set_role('author')` on whichever WordPress account matches the hard-coded login `optima-express` via `get_user_by('login', 'optima-express')`. This makes it possible for unauthenticated attackers to escalate a pre-registered `optima-express` account to the Author role, gaining `publish_posts`, `upload_files`, and `edit_published_posts` capabilities, including access to the plugin's own `/wp-json/optima-express/v1/blog-post` REST endpoint. Exploitation requires open user registration to be enabled on the target site, and the attacker must register the `optima-express` username before the plugin has had the opportunity to provision that login for its own integration account.
📍 영향받는 시스템
Optima Express IDX plugin for WordPress (version up to and including 8.7.5)
⚔️ 공격 벡터
인증되지 않은 사용자가 특정 AJAX 액션을 호출하여 'optima-express' 계정의 권한을 탈취하는 방식
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하고, WordPress 설정에서 사용자 등록 기능을 비활성화하십시오.
🔧 검증 코드
출력 결과에 Optima Express IDX 플러그인이 표시되면 해당 취약점에 노출되었을 가능성이 있습니다.
wp plugin list --status=active | grep -i 'optima-express'