🇰🇷 한글 설명
WordPress의 User Session Synchronizer 플러그인 1.4.0 이하 버전에서 인증 우회 및 계정 탈취 취약점이 발견되었습니다. `synchronize_session()` 함수가 입력값에 대한 검증을 수행하지 않아, 공격자가 조작된 파라미터를 통해 암호화 키를 예측 가능한 상태로 만들고 관리자 권한을 획득할 수 있습니다.
💡 쉬운 설명
로그인하지 않은 해커가 특정 조작된 요청을 보내면 사이트의 관리자 계정으로 즉시 로그인할 수 있는 심각한 보안 결함입니다. 암호화 과정에서 사용되는 비밀번호가 너무 단순하게 처리되는 허점을 이용한 공격입니다.
🇺🇸 원문 (English)
The User Session Synchronizer plugin for WordPress is vulnerable to Authentication Bypass leading to Account Takeover in all versions up to, and including, 1.4.0. The `synchronize_session()` function, hooked on `init` and therefore executed on every request, performs no nonce, capability, or shared-secret validation against the attacker-supplied `ussync-key`, `ussync-token`, and `ussync-ref` parameters; when `ussync-key` references an unregistered slot, `get_option()` returns `false` for both the secret key and the domain list, causing the AES-256-CBC encryption key to degrade to the fully predictable `md5('')` and the referer allowlist to collapse to an empty-string match, while the AES IV is unconditionally hard-coded as `md5('another-secret')`. This makes it possible for unauthenticated attackers to supply a crafted request encrypting any known or guessable user email address in the `ussync-ref` parameter, causing the handler to call `wp_set_auth_cookie()` for the matched user and granting full authentication as that user — including administrators — with no prior knowledge of site secrets.
📍 영향받는 시스템
WordPress User Session Synchronizer plugin (버전 1.4.0 및 그 이하 모든 버전)
⚔️ 공격 벡터
인증되지 않은 공격자가 조작된 `ussync-key`, `ussync-token`, `ussync-ref` 파라미터를 포함한 HTTP 요청을 전송
🛡️ 대응 방법
해당 플러그인을 즉시 삭제하거나, 보안 패치가 적용된 최신 버전으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 해당 플러그인이 나타나면 취약한 환경일 가능성이 높으므로 버전을 반드시 확인해야 합니다.
wp plugin list --status=active | grep -E 'user-session-synchronizer'