🇰🇷 한글 설명
WordPress의 RockPress 플러그인 1.0.17 이하 버전에서 권한 검증 누락 취약점이 발견되었습니다. 인증된 모든 사용자(구독자 포함)가 노출된 논스(nonce)를 이용해 관리자 권한이 필요한 AJAX 액션을 실행할 수 있습니다.
💡 쉬운 설명
로그인한 일반 사용자라면 누구나 관리자만 할 수 있는 중요한 설정을 바꾸거나 데이터를 삭제할 수 있는 보안 구멍이 있습니다. 플러그인이 보안 키를 아무에게나 보여주고 있어서 발생하는 문제입니다.
🇺🇸 원문 (English)
The RockPress plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 1.0.17. This is due to missing capability checks on multiple AJAX actions (rockpress_import, rockpress_import_status, rockpress_last_import, rockpress_reset_import, and rockpress_check_services) combined with the plugin's nonce being exposed to all authenticated users via an unconditionally enqueued admin script. The plugin enqueues the 'rockpress-admin' script on all admin pages (including profile.php) without any page or capability restrictions, and the nonce for the 'rockpress-nonce' action is passed to this script via wp_localize_script. Since the AJAX handlers only verify this nonce and do not check current_user_can(), any authenticated user, including Subscribers, can extract the nonce from any admin page's HTML source and use it to trigger imports, reset import data (deleting options), check service connectivity, and read import status information. This makes it possible for authenticated attackers, with Subscriber-level access and above, to trigger resource-intensive import operations, reset import tracking data, and perform system connection checks that should be restricted to administrators.
📍 영향받는 시스템
RockPress plugin for WordPress (version 1.0.17 and below)
⚔️ 공격 벡터
인증된 사용자가 관리자 페이지 소스에서 노출된 nonce를 탈취하여 AJAX 요청을 통한 권한 우회 공격
🛡️ 대응 방법
RockPress 플러그인을 최신 버전으로 업데이트하거나, AJAX 핸들러에 current_user_can() 권한 검증 로직을 추가해야 합니다.
🔧 검증 코드
명령어 결과에 rockpress가 나타나면 설치된 것이며, 설치된 플러그인의 버전을 확인하여 1.0.17 이하인지 점검해야 합니다.
wp plugin list --status=active | grep -i 'rockpress' && echo 'Check version manually via wp plugin list'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
IBM Security Verify Access