こんにちは。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
- SuSE
- 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
- SuSE
- 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
- SuSE
修正方法
各ディストリビューションの情報を確認してください。
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サーバが影響を受けます。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
https://security-tracker.debian.org/tracker/CVE-2018-16873
- Red Hat Enterprise Linux/CentOS
https://access.redhat.com/security/cve/CVE-2018-16873
- Ubuntu
- SUSE/openSUSE
https://www.suse.com/security/cve/CVE-2018-16873.html
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
セキュリティ系連載案内
- OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
- OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
- OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2018のレポートが紹介されています。
- OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
- OSSセキュリティ技術の会の面により、@ITで「OpenSCAPで脆弱性対策はどう変わる?」が連載されています。
- OSSセキュリティ技術の会のメンバーにより、@ITで「Berkeley Packet Filter(BPF)入門」が連載されています。
セミナー情報
2019/01/09 18:30-20:30で、「OSSライセンスMeetup Vol.1」を行います。
今回は技術評論社刊「OSSライセンスの教科書」著者・上田さんを迎えて刊行に至った理由・本著に込めた思い・見どころなどを語っていただき、後半ではテクニカルライター可知豊さんと共に上田さんと本書についてのディスカッションを行います。
https://sios.connpass.com/event/104422/がプログラム内容と申し込みの詳細になります。奮ってご参加下さい。