curlの複数の脆弱性情報(Low: CVE-2020-8284, Medium: CVE-2020-8285, CVE-2020-8286 )

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

12/09/2020にcurlの複数の脆弱性情報(Low: CVE-2020-8284, Medium: CVE-2020-8285, CVE-2020-8286 )が公開されています。こちらではこの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。




Priority

Priority

\n

CVE番号影響するバージョンPriorityCVSS Score / CVSS Vector
CVE-2020-82844.0<=libcurl<=7.73.0

Vendor: Low

CVE-2020-82857.21.0<=libcurl<=7.73.0

Vendor: Medium

CVE-2020-82867.41.0<=libcurl<=7.73.0

Vendor: Medium

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284
    • curlがFTP転送をパッシブモードで行う際には、最初にEPSVコマンドを実行しそれがサポートされていない場合にはPASVを使うようにしています。パッシブモードはcrulではデフォルトになっています。

      PASVコマンドのサーバ側のレスポンスにはクライアントがデータ転送のために接続する(IPv4)アドレスとポート番号が含まれています。

      悪意のあるサーバはPASVへのレスポンスを使ってcrulをだまして特定のIPアドレスとポートに接続させることが出来ます。これにより、ポートスキャンやサービスバナー抽出など、他の方法では開示されていない情報をcurlに抽出させる可能性があります。

      curlがユーザにより与えられたURLを操作する場合、ユーザがそれを悪用して悪意のあるFTPサーバーインスタンスにURLを渡すことが出来ます。

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285
    • libcurlは、libcurlが使用可能な全てのエントリのリストを反復処理する際に、コールバック(CURLOPT_CHUNK_BGN_FUNCTIONで設定)がディレクトリ内の特定のエントリを処理する方法をlibcurlに情報を返すワイルドマッチング機能を提供します。

      このコールバックがCURL_CHUNK_BGN_FUNC_SKIPを返すと、libcurlにそのファイルを処理しないように指示し、libcurlの内部関数は自信を再帰的に呼び出して次のディレクトリエントリを処理します。

      充分な量のファイルエントリがある場合、コールバックが充分な回数の”skip”を返すため、libcurlはスタックスペースを使い果たし、libcurlを使っているアプリにDoSを引き起こす事ができる可能性があります。

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286
    • libcurlは、CURLOPT_SSL_VERIFYSTATUSオプションを通して”OCSPステープリング”機能を提供します。これを設定すると、libcurlはサーバがTLSハンドシェイクの一部として応答するOCSP応答を検証します。

      OCSP応答検証の一部として、クライアントは応答が正しい証明書に実際に設定されていることを検証する必要があります。この手順はOpenSSLをTLSのバックエンドとして使用するようにしていたばあいに正しく機能していませんでした。

      この欠陥に寄り、TLSサーバに侵入した攻撃者は、元の証明書が実際に取り消されたように見える不正なOCSPレスポンスを返すことができる可能性があります。


主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください


対処方法

対処は各ディストリビューションの情報に従ってください。


セキュリティ系連載案内


タイトルとURLをコピーしました