こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
02/11/2020にApache Tomcatの複数の脆弱性情報(High: CVE-2020-1938: Ghostcat, Low: CVE-2020-1935, CVE-2019-17569)と新バージョン(9.0.31/8.5.51/7.0.100)が公開されています。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
2020/02/25 15:00 Ghostcatの情報を追記しました。
[関連リンク(最新5件)]
tomcatの複数の脆弱性情報(CVE-2019-12418, CVE-2019-17563)
Apache Tomcatの脆弱性情報 (Important: CVE-2019-10072)
Apache Tomcatの脆弱性情報 ( Low/Moderate: CVE-2019-0221)
Apache Tomcat for Windowsの脆弱性情報 ( Important: CVE-2019-0232 )
一次情報源
CVE番号 | 影響するバージョン | リファレンス | Priority | CVSS |
---|---|---|---|---|
CVE-2020-1938 | 9.0.0.M1 – 9.0.30, 8.5.0 – 8.5.50, 7.0.0 , 7.0.99 | High: AJP Request Injection and potential Remote Code Execution | RedHat: 7.6 Important | RedHat: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L |
CVE-2020-1935 | 9.0.0.M1 – 9.0.30, 8.5.0 – 8.5.50, 7.0.0 – 7.0.99 | |||
CVE-2019-17569 | 9.0.28 – 9.0.30, 8.5.48 – 8.5.50, 7.0.98 – 7.0.99 |
[関連情報]
今回の脆弱性(CVE-2020-1938)は「Ghostcat」という名前が付けられているようです。
Ghostcat is a high-risk file read / include vulnerability in Tomcat
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1938
- AJPリクエストインジェクションとリモートコード実行の可能性
Apache JServ プロトコル(AJP)を使用しているときには、Apache Tomcatに入ってくる接続を信頼する際に気をつけなくてはなりません。TomcatはAJP接続を高度な信頼された接続として扱います。Tomcat 9.0.31より前のバージョンでは、TomcatはAJPコネクタをデフォルトで、設定されている全てのIPアドレスでListenにします。これはコネクタが不要なものを無効にすることを期待した動作です。
この脆弱性レポート以前では、攻撃者がAJPポートに直接アクセスできる既知のリスクは以下の通りでした。
- クライアントIPアドレスに基づくセキュリティの迂回。
- Tomcatがリバースプロキシにより提供される認証データを信頼するように構成されている場合の、ユーザ認証を迂回。
この脆弱性レポートでは次の許可するメカニズムを特定しました
- WEB-INFとMETA-INFディレクトリ、またはその他のServletContext.getResourceAsStream()によって到達可能なWebアプリケーションの任意の場所から任意のファイルを返す。
- Webアプリケーションの任意のファイルをJSPとして処理する。
さらに、Webアプリケーションがファイルのアップロードを許可し、それらのファイルをWebアプリケーション内に保存した場合(あるいは攻撃者がその他の方法でWebアプリケーションのコンテンツを制御できた場合)、このファイルをJSPとして処理するため、リモートコード実行が可能になります。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1935
- HTTP Request Smuggling
- HTTPヘッダーが無効なHTTPヘッダーを有効に扱うためにend-of-line(EOL)の処理をお個似ますが、これによりHTTP Request Smugglingが発生する問題が見つかりました。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-17569
- HTTP Request Smuggling
- 9.0.28/8.5.48/7.0.98の修正によりレグレッションが発生し、不正なTransfer-Encodingヘッダを処理する際にHTTP Request Smugglingが発生する問題が見つかりました。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
https://security-tracker.debian.org/tracker/CVE-2020-1938
- Red Hat Enterprise Linux/CentOS
- Ubuntu
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全ての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)入門」が連載されています。