CVE-2023-38545: curlコマンドのSOCKS5ヒープバッファオーバーフロー
脆弱性: この欠陥により、curlはSOCKS5プロキシハンドシェイク中にヒープベースのバッファをオーバーフローさせる可能性があります。curlがホスト名をSOCKS5プロキシに渡すように要求された場合、そのホスト名の最大長は255バイトです。ホスト名が255バイトを超えると判定されると、curlはローカル名の解決に切り替え、解決されたアドレスのみをプロキシに渡します。しかし、バグのため、ローカル変数が誤った値を取得する可能性があり、意図に反して長すぎるホスト名をターゲットバッファにコピーする可能性があります。
情報: ホスト名はcurlが操作するように指示されたURLから来ます。ターゲットバッファはlibcurlのヒープベースのダウンロードバッファで、転送が開始される前にSOCKSネゴシエーションのために再利用されます。
影響を受けるバージョン: libcurl 7.69.0から8.3.0まで
解決策: curl 8.4.0から、名前が長すぎる場合にローカル解決モードに切り替えるのではなく、エラーを正しく返すようになりました。
勧告: A. curlをバージョン8.4.0にアップグレードする B. パッチをローカルバージョンに適用する C. curlでCURLPROXY_SOCKS5_HOSTNAMEプロキシを使用しない D. プロキシ環境変数をsocks5h://に設定しない
この問題は2023年9月30日にcurlプロジェクトに報告されました。2023年10月11日にlibcurl 8.4.0がリリースされ、このアドバイザリの公開と連携して行われました。
この記事が気に入ったらサポートをしてみませんか?