🇰🇷 한글 설명
WordPress의 Security Hardener 플러그인 2.4.4 이하 버전에서 권한 검증 누락 취약점이 발견되었습니다. 이 취약점은 사용자 열거 방지 기능이 WordPress 코어의 원래 권한 확인 로직을 덮어씌워, 로그인된 일반 사용자가 관리자 계정을 생성하거나 기존 관리자의 비밀번호를 변경할 수 있게 합니다.
💡 쉬운 설명
보안을 강화해주는 플러그인이 오히려 보안 구멍을 만드는 상황입니다. 로그인만 되어 있다면 일반 사용자가 관리자 권한을 탈취하여 사이트를 완전히 장악할 수 있습니다.
🇺🇸 원문 (English)
The Security Hardener plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 2.4.4. The vulnerability exists because the plugin's user-enumeration protection, which is enabled by default, hooks the rest_endpoints filter via secure_user_endpoints() and overwrites every registered handler's permission_callback on both the /wp/v2/users and /wp/v2/users/(?P<id>[\d]+) routes — including POST, PUT, PATCH, and DELETE handlers — with a bare closure that returns only is_user_logged_in(), completely stripping WordPress Core's original capability checks such as create_users, promote_user, edit_users, and delete_users that WP_REST_Users_Controller normally enforces. This makes it possible for authenticated attackers with Subscriber-level access and above to create new Administrator accounts by sending POST request to /wp/v2/users with administrator role, or to reset an existing Administrator's password by issuing a PUT/POST request to /wp/v2/users/<id>. Because the block_user_enum option defaults to enabled, no special plugin configuration is required — the overwrite is active on every request as soon as the plugin is installed.
📍 영향받는 시스템
WordPress Security Hardener plugin version 2.4.4 and below
⚔️ 공격 벡터
로그인된 일반 사용자 권한으로 REST API(/wp/v2/users)에 POST 또는 PUT 요청을 보내 관리자 계정 생성 및 비밀번호 변경
🛡️ 대응 방법
Security Hardener 플러그인을 최신 버전으로 업데이트하거나, 해당 기능을 비활성화하십시오.
🔧 검증 코드
출력된 버전 번호가 2.4.4 이하이면 해당 취약점에 노출된 상태입니다.
wp-cli plugin list --name=security-hardener --field=version