WPO365 | WordPress용 로그인 플러그인은 43.2 이하 버전에서 Cross-Site Request Forgery에 취약합니다. 이는 Ajax_Service::verify_ajax_request() 도우미가 부울 옵션 'enable_nonce_check' 뒤에서 wp_verify_nonce() 호출을 제어하기 때문입니다. 이 옵션은 기본 'wpo365_options' 배열에 없으므로 get_global_boolean_var()을 통해 false로 평가됩니다. 결과적으로 wp_ajax_wpo365_update_settings 핸들러(Ajax_Service::update_settings)는 크로스-에서 POST를 수락합니다.
WPO365 | WordPress용 로그인 플러그인은 43.2 이하 버전에서 Cross-Site Request Forgery에 취약합니다. 이는 Ajax_Service::verify_ajax_request() 도우미가 부울 옵션 'enable_nonce_check' 뒤에서 wp_verify_nonce() 호출을 제어하기 때문입니다. 이 옵션은 기본 'wpo365_options' 배열에 없으므로 get_global_boolean_var()을 통해 false로 평가됩니다. 결과적으로 wp_ajax_wpo365_update_settings 핸들러(Ajax_Service::update_settings)는 교차 출처 페이지에서 POST를 수락하고 공격자가 제공한 '설정' 페이로드(base64/JSON)를 Options_Service::update_options()로 전달합니다. 이는 키 허용 목록 없이 모든 키/값을 wpo365_options에 병합합니다. 이로 인해 인증되지 않은 공격자가 위조된 요청을 통해 SCIM REST 엔드포인트(enable_scim) 활성화, 공격자에게 알려진 scim_secret_token 설치, new_usr_default_role을 '관리자'로 설정 등 임의의 플러그인 옵션을 덮어쓸 수 있습니다. 사이트 관리자가 링크 클릭과 같은 작업을 수행하도록 속일 수 있습니다.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 88.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 88.00 |
VPI 공식 vpi-v1 기준