
curl コマンドラインツール向け CVE-2023-38545 POC
この POC は UTsweetyfish によって作成され、このリポジトリ (https://github.com/UTsweetyfish/CVE-2023-38545) で公開された以前の POC に基づいています。その POC とは異なり、こちらはコマンドラインツール向けであり、libcurl ライブラリ向けではありません。また、Python やコンパイルは必要ありません
この POC は curl の SOCKS5 ヒープバッファオーバーフロー用であり、curl コマンドラインツールの受信バッファをオーバーフローさせる方法を示しています。デフォルトでは、curl は受信バッファを 100k のサイズで初期化するため、CVE-2023-38545 の影響を受けません。しかし、レート制限 (--limit-rate) を設定することで、このバッファのサイズを減らすことができます。
POC を実行するには、まず SSH を使用してローカルの SOCKS5 プロキシをセットアップします(これにはローカルで SSH サーバーが実行されている必要があります):
ssh -fND 10801 localhost
次に、poc.sh scriptt を実行します(これには Netcat (nc) のインストールが必要です):
./poc.sh
バッファオーバーフローをトリガーするには、数回の試行が必要な場合があります。オーバーフローがトリガーされると、スクリプトはエラーコードで終了し、実行が中断されたことを示すエラーメッセージが表示されます。オーバーフローが失敗し、curl が影響を受けなかった場合、名前が "AAAA...." のホストを解決できなかったことを示すメッセージが表示されます。
リンク: