🇰🇷 한글 설명
WordPress용 Smart Popup by Supsystic 플러그인 1.12.0 이하 버전에서 권한 상승 취약점이 발견되었습니다. 권한 검증 로직의 오류와 보안 토큰(nonce)의 재사용 문제로 인해, 인증되지 않은 공격자가 관리자 권한을 가진 계정을 생성할 수 있습니다.
💡 쉬운 설명
해커가 로그인하지 않은 상태에서도 웹사이트의 관리자 계정을 몰래 만들 수 있는 심각한 보안 결함입니다. 이로 인해 해커가 사이트의 모든 제어권을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
The Smart Popup by Supsystic plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.12.0. This is due to a permission map collision in the `havePermissions()` function in `classes/frame.php`, where `array_merge()` overwrites the popup module's administrator-restricted method list with the base controller's value, silently removing `save` from protected actions; this is compounded by the subscription confirmation email embedding the same generic `pps_nonce` that the unauthenticated `wp_ajax_nopriv_save` endpoint accepts, and by the complete absence of any server-side role allowlist in `createWpSubscriber()`. This makes it possible for unauthenticated attackers to submit a crafted POST request to `admin-ajax.php` using a nonce obtained from a public subscription confirmation email, setting `params[tpl][sub_wp_create_user_role]` to `administrator` via the exposed `popupControllerPps::save()` action, and then triggering the stored confirmation flow to create a persistent WordPress Administrator account with attacker-chosen credentials.
📍 영향받는 시스템
Smart Popup by Supsystic plugin for WordPress (v1.12.0 및 그 이하 모든 버전)
⚔️ 공격 벡터
이메일에서 탈취한 보안 토큰을 이용해 admin-ajax.php에 조작된 POST 요청을 보내 관리자 계정 생성
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 해당 취약점이 해결된 패치를 적용하십시오.
🔧 검증 코드
출력된 결과에 해당 플러그인이 포함되어 있다면, 설치된 버전을 확인하여 1.12.0 이하인지 점검하십시오.
wp plugin list --status=active | grep -i 'smart-popup-by-supsystic'