Go言語の脆弱性情報(Important: CVE-2018-16873, Moderate: CVE-2018-16874, CVE-2018-16875)

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

12/14/2018にGo言語の脆弱性情報(Important: CVE-2018-16873, Moderate: CVE-2018-16874, CVE-2018-16875)が公開されています。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。



Priority

  • CVE-2018-16873

    Important

    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 7.5
      • Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
    • NVD
  • CVE-2018-16874

    Moderate

    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 6.8
      • Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
    • NVD
  • CVE-2018-16875

    Moderate

    • SuSE
      • CVSS v3 Base Score: 5.9
      • Vector: AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 5.9
      • Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
    • NVD

修正方法

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

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

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16873
    • 悪意のあるコマンドの実行の可能性
    • 重要度 – Important
    • 1.10.6より前と、1.11.3より前の1.11.x系では、実行時に”-u”フラグを付け、悪意のあるGoパッケージのパスをインポートしている際に、”go get”コマンドがリモートコード実行可能な脆弱性があります。具体的には、GOPATHモードの時にだけ脆弱性があり、moduleモードではありません(このモードの区別は、こちらのドキュメントをご参照ください)。カスタムドメインを用いている時に、”/.git”として終わるVanityインポートパスを用いることで、Gitレポジトリをフォルダ名が”.git”だとしてクローンすることが可能です。Gitレポジトリのrootが”HEAD”ファイル、”config”ファイル、”objects”ディレクトリ、”refs”ディレクトリが含まれていて、適当な操作をするようにされている場合、”go get -u”はその親のディレクトリをレポジトリのrootだと勘違いし、Gitコマンドを実行してしまいます。これはオリジナルのGitレポジトリrootが設定を行うための”config”ファイルを使いますが、この”config”ファイルが悪意のあるコマンドを含んでいる場合には、”go get -u”を実行することによりそのコマンドがシステム上で実行されてしまいます。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16874
    • 任意のファイルシステムへの書き込みとコード実行の可能性
    • 重要度 – Moderate
    • 1.10.6より前と、1.11.3より前のGoでは、”go get”コマンドに、”{“と”}”をインポートパスとして含んでいる悪意のあるGoパッケージを実行した際に、ディレクトリトラバーサルの脆弱性が存在します。具体的には、GOPATHモードの時にだけ脆弱性があり、moduleモードではありません(このモードの区別は、こちらのドキュメントをご参照ください)。攻撃者はこれを利用して任意のファイルシステムに書き込むことが出来、コードを実行される可能性が有ります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16875
    • DoSの可能性
    • 重要度 – Moderate
    • 1.10.6より前と、1.11.3より前のGoでは、crypto/x509パッケージがチェーンの確認に制限を設けていないため、攻撃者が細工されたpathologicalを与えた場合にCPUに対してDoSを仕掛けることが可能です。TLSクライアントとクライアント証明書を受け付けるGo TLSサーバが影響を受けます。


対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteKatello、Spacewalk等を使うと管理が便利でしょう。

セキュリティ系連載案内


セミナー情報

2019/01/09 18:30-20:30で、「OSSライセンスMeetup Vol.1」を行います。

今回は技術評論社刊「OSSライセンスの教科書」著者・上田さんを迎えて刊行に至った理由・本著に込めた思い・見どころなどを語っていただき、後半ではテクニカルライター可知豊さんと共に上田さんと本書についてのディスカッションを行います。

https://sios.connpass.com/event/104422/がプログラム内容と申し込みの詳細になります。奮ってご参加下さい。

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