JPCERT-AT-2020-0009
JPCERT/CC
2020-02-25(新規)
2020-02-28(更新)
また、Web アプリケーションがファイルのアップロードおよび保存を許可している場合、遠隔の第三者が任意のコードを実行する可能性があります。
脆弱性の詳細については、Apache Software Foundation からの情報を参照してください。
Apache Software Foundation
[SECURITY] CVE-2020-1938 AJP Request Injection and potential Remote Code Execution
https://lists.apache.org/thread.html/r7c6f492fbd39af34a68681dbbba0468490ff1a97a1bd79c6a53610ef%40%3Cannounce.tomcat.apache.org%3E
- Apache Tomcat 9.0.0.M1 から 9.0.30
- Apache Tomcat 8.5.0 から 8.5.50
- Apache Tomcat 7.0.0 から 7.0.99
- Apache Tomcat 9.0.31
- Apache Tomcat 8.5.51
- Apache Tomcat 7.0.100
- AJP が不要な場合は、無効にする
- AJP が必要な場合は、認可設定などアクセス制限を行う
【認可設定の例】
- Tomcat 側の設定
- <CATALINA_BASE>/conf/server.xml における Connector port に次の設定を行う
=====================================================================
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="YOUR_TOMCAT_IP_ADDRESS" requiredSecret="YOUR_TOMCAT_AJP_SECRET" />
=====================================================================
- Apache 側の設定
- /conf/httpd.conf における ProxyPass に次の設定を行う
=====================================================================
ProxyPass "URL" secret = "YOUR_TOMCAT_AJP_SECRET"
=====================================================================
YOUR_TOMCAT_AJP_SECRET については、簡単に推測できない値を使用してください。設定の詳細は、Tomcat、mod_proxy 及び mod_proxy_ajp のマニュアルを参照してください。
Apache Software Foundation
Fixed in Apache Tomcat 9.0.31
http://tomcat.apache.org/security-9.html#Fixed_in_Apache_Tomcat_9.0.31
Apache Software Foundation
Fixed in Apache Tomcat 8.5.51
http://tomcat.apache.org/security-8.html#Fixed_in_Apache_Tomcat_8.5.51
Apache Software Foundation
Fixed in Apache Tomcat 7.0.100
http://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.100
Apache Software Foundation
Apache Tomcat 9 Security Considerations
https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html
Apache Software Foundation
Apache Tomcat 8 Security Considerations
https://tomcat.apache.org/tomcat-8.5-doc/security-howto.html
Apache Software Foundation
Apache Tomcat 7 Security Considerations
https://tomcat.apache.org/tomcat-7.0-doc/security-howto.html
Apache
Apache Module mod_proxy
https://httpd.apache.org/docs/trunk/en/mod/mod_proxy.html
Apache
Apache Module mod_proxy_ajp
https://httpd.apache.org/docs/trunk/en/mod/mod_proxy_ajp.html
今回の件につきまして当センターまで提供いただける情報がございましたら、ご連絡ください。
2020-02-28 「IV. 回避策」、「V. 参考情報」の更新
一般社団法人 JPCERT コーディネーションセンター (JPCERT/CC)
早期警戒グループ
TEL: 03-6811-0610 Email: ew-info@jpcert.or.jp
JPCERT/CC
2020-02-25(新規)
2020-02-28(更新)
I. 概要
Apache Software Foundation は、2020年2月24日 (現地時間) に、Apache Tomcat の脆弱性 (CVE-2020-1938) に関する情報を公開しました。脆弱性(CVE-2020-1938) では、Apache JServ Protocol (AJP) における Attributeの取り扱いに問題があり、悪用された場合、遠隔の第三者が AJP を介し、情報を窃取するなどの可能性があります。また、Web アプリケーションがファイルのアップロードおよび保存を許可している場合、遠隔の第三者が任意のコードを実行する可能性があります。
脆弱性の詳細については、Apache Software Foundation からの情報を参照してください。
Apache Software Foundation
[SECURITY] CVE-2020-1938 AJP Request Injection and potential Remote Code Execution
https://lists.apache.org/thread.html/r7c6f492fbd39af34a68681dbbba0468490ff1a97a1bd79c6a53610ef%40%3Cannounce.tomcat.apache.org%3E
II. 対象
次のバージョンの Apache Tomcat が本脆弱性の影響を受けます。- Apache Tomcat 9.0.0.M1 から 9.0.30
- Apache Tomcat 8.5.0 から 8.5.50
- Apache Tomcat 7.0.0 から 7.0.99
III. 対策
Apache Software Foundation より、修正済みのバージョンが提供されています。修正済みのバージョンを適用することをご検討ください。- Apache Tomcat 9.0.31
- Apache Tomcat 8.5.51
- Apache Tomcat 7.0.100
IV. 回避策
アップデートの実施が難しい場合には、次の回避策を検討してください。なお、アップデートと回避策を併用することでシステムをより堅牢化することができます。- AJP が不要な場合は、無効にする
- AJP が必要な場合は、認可設定などアクセス制限を行う
【認可設定の例】
- Tomcat 側の設定
- <CATALINA_BASE>/conf/server.xml における Connector port に次の設定を行う
=====================================================================
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="YOUR_TOMCAT_IP_ADDRESS" requiredSecret="YOUR_TOMCAT_AJP_SECRET" />
=====================================================================
- Apache 側の設定
- /conf/httpd.conf における ProxyPass に次の設定を行う
=====================================================================
ProxyPass "URL" secret = "YOUR_TOMCAT_AJP_SECRET"
=====================================================================
YOUR_TOMCAT_AJP_SECRET については、簡単に推測できない値を使用してください。設定の詳細は、Tomcat、mod_proxy 及び mod_proxy_ajp のマニュアルを参照してください。
更新: 2020年2月28日追記
【認可設定の例】に関して外部からご指摘があり、JPCERT/CC で改めて検証しなおしたところ、現時点の最新バージョン (2.4.41) の Apache では、【認可設定の例】が動作しない事を確認しました。なお、開発者からの情報によると当該機能は、Apache 2.4.42 にて実装されるとのことです。
各ディストリビュータが配布する Apache によっては、既にパッチが適用されており【認可設定の例】が設定できる場合 (JPCERT/CC では CentOS7にて確認)があります。詳細は各ディストリビュータへお問い合わせください。
また、JPCERT/CC では、Apache Tomcat Connectors (mod_jk) に認可情報を設定することで回避策が動作することを確認しています。設定の詳細は、Apache Software Foundation の情報を参照してください。
Apache Software Foundation
The Apache Tomcat Connectors: mod_jk, ISAPI redirector, NSAPI redirector
http://tomcat.apache.org/connectors-doc/
The Apache Tomcat Connectors - Reference Guide
workers.properties configuration
https://tomcat.apache.org/connectors-doc/reference/workers.html
各ディストリビュータが配布する Apache によっては、既にパッチが適用されており【認可設定の例】が設定できる場合 (JPCERT/CC では CentOS7にて確認)があります。詳細は各ディストリビュータへお問い合わせください。
また、JPCERT/CC では、Apache Tomcat Connectors (mod_jk) に認可情報を設定することで回避策が動作することを確認しています。設定の詳細は、Apache Software Foundation の情報を参照してください。
Apache Software Foundation
The Apache Tomcat Connectors: mod_jk, ISAPI redirector, NSAPI redirector
http://tomcat.apache.org/connectors-doc/
The Apache Tomcat Connectors - Reference Guide
workers.properties configuration
https://tomcat.apache.org/connectors-doc/reference/workers.html
V. 参考情報
Apache Software Foundation
Fixed in Apache Tomcat 9.0.31
http://tomcat.apache.org/security-9.html#Fixed_in_Apache_Tomcat_9.0.31
Apache Software Foundation
Fixed in Apache Tomcat 8.5.51
http://tomcat.apache.org/security-8.html#Fixed_in_Apache_Tomcat_8.5.51
Apache Software Foundation
Fixed in Apache Tomcat 7.0.100
http://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.100
Apache Software Foundation
Apache Tomcat 9 Security Considerations
https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html
Apache Software Foundation
Apache Tomcat 8 Security Considerations
https://tomcat.apache.org/tomcat-8.5-doc/security-howto.html
Apache Software Foundation
Apache Tomcat 7 Security Considerations
https://tomcat.apache.org/tomcat-7.0-doc/security-howto.html
Apache
Apache Module mod_proxy
https://httpd.apache.org/docs/trunk/en/mod/mod_proxy.html
Apache
Apache Module mod_proxy_ajp
https://httpd.apache.org/docs/trunk/en/mod/mod_proxy_ajp.html
更新: 2020年2月28日追記
上記は Apache 開発バージョンのマニュアルです。IV. 回避策【認可設定の例】の当該機能 (secret) の説明が記載されています。なお、現時点の最新バージョン(2.4.41) のマニュアルには、当該機能の説明は記載されていません。
今回の件につきまして当センターまで提供いただける情報がございましたら、ご連絡ください。
改訂履歴
2020-02-25 初版2020-02-28 「IV. 回避策」、「V. 参考情報」の更新
一般社団法人 JPCERT コーディネーションセンター (JPCERT/CC)
早期警戒グループ
TEL: 03-6811-0610 Email: ew-info@jpcert.or.jp