みっきー申す

ITに関する興味関心のまとめ、サイバーセキュリティニュースのまとめ、Twitterで配信中の情報まとめなどを公開します。

脆弱性Ghostcat(Apache Tomcatの脆弱性CVE-2020-1938) の脅威について

https://www.chaitin.cn/img/ghostcat/ghostcat.png

Webアプリケーションの開発などでよく用いられるJavaの実行環境ソフトウェアApacheTomcatにおいて、

脆弱性の実証コードが多数確認され、誰でも簡単に実行可能な状態であることが明らかになっています。

記事のタイミングが遅くなってしまいましたが、依然、脅威度は高いと思いますので、公開します。


目次


何が問題なの?

脆弱性の実証コードが公開されている

ソースコード共有サイトGithub上にすでに多数のPoCコード(脆弱性の実証コード)が確認されており、誰もが簡単に攻撃を行うことが簡単な状況です。

以下、実証コードの例

GitHub - 00theway/Ghostcat-CNVD-2020-10487: Ghostcat read/execute file,CNVD-2020-10487(CVE-2020-1938)

GitHub - 0nise/CVE-2020-1938: CVE-2020-1938

GitHub - laolisafe/CVE-2020-1938: CVE-2020-1938漏洞复现

GitHub - YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi: Tomcat-Ajp协议文件读取漏洞

脆弱性の該当箇所がデフォルトで有効になっている

今回の脆弱性は、Apache JServ Protocol (AJP)が通常のWeb通信で用いられるHTTP/HTTPSなどよりも信頼性の高い通信として扱ってしまい、本来アクセスできないサーバ上のコンテンツに、外部からアクセスできてしまうことにあります。

そして、このAJPがデフォルトで有効になっているため、対象のソフトウェアすべてにおいて設定の見直し、もしくはバージョンアップが必要になります。

影響範囲が広い

影響範囲が広く、2010年に公開された7系以降のバージョンすべてが対象になっています。

なお、米国のセキュリティベンダtenableなどによると、Apache Tomcat 6系においてもAJPがデフォルトで有効になっており、同様にして脆弱であることを注意喚起しています。

今回、6系の言及がないのは、すでにApache Tomcat6.xがサポートされていないことによるものだと推測されます。

jp.tenable.com


脆弱性悪用の例

以下のような例も動画で公開されていました。

ただ、ピンと来なかったので、PoCの一部から抜粋します。

  • ファイルの読み込み

ここでは、"/WEB-INF/web.xml"を読み込みその結果を表示しています。

このWEB-INF配下のファイルは、通常外部からは見ることができず、外部に公開しない情報はここに格納することが多いです。

https://github.com/00theway/Ghostcat-CNVD-2020-1 https://github.com/00theway/Ghostcat-CNVD-2020-10487/raw/master/ajp-read.png

  • ファイルの実行

ここでは、サーバ上のa.txtというファイルに記載した文字列"pwn by 00theway"が実行されている様子がわかります。

https://github.com/00theway/Ghostcat-CNVD-2020-10487/raw/master/ajp-execute.png

これに関連して、セキュリティリサーチャーのツイッター上で、もし、Webサイトでファイルアップロード機能を許可している場合、そのファイルがドキュメントルート内に保存され、AJP ポートに直接到達できれば、外部からの任意のコード実行も可能であると言及しています。

脆弱性の修正プログラム

公式サイトにて脆弱性の修正プログラムが公開されていますので、該当する方は適用を推奨します。

tomcat.apache.org

【ご参考】専門機関からの注意喚起

www.ipa.go.jp

www.jpcert.or.jp