【活用ガイド】

JVNDB-2017-003078

Java で実装された複数の Action Message Format (AMF3) ライブラリに脆弱性

概要

Java で実装された複数の Action Message Format (AMF3) ライブラリに、次の複数の脆弱性が報告されています。

信頼できないデータのデシリアライズ (CWE-502)
Java で実装された複数の AMF3 ライブラリのデシリアライズ処理では、AMF3 仕様で推奨されている flash.utils.IExternalizable ではなく java.io.Externalizable が使用されています。そのため、偽装された RMI サーバやコンテンツを細工された正規の RMI サーバから受信したシリアライズデータをデシリアライズすることで、任意のコードを実行される可能性があります。
報告者が本脆弱性の影響を確認している製品およびバージョンと、それぞれに対応する CVE 番号は次のとおりです。

 ・Atlassian JIRA 4.2.4 から 6.3.0 より前のバージョンまで - CVE-2017-5983
 ・Flamingo amf-serializer by Exadel 2.2.0 - CVE-2017-3201
 ・GraniteDS 3.1.1.GA - CVE-2017-3199
 ・Pivotal/Spring spring-flex - CVE-2017-3203
 ・WebORB for Java by Midnight Coders 5.1.1.0 - CVE-2017-3207

これらのライブラリを使用している製品も本脆弱性の影響を受ける可能性があります。

動的に操作されるコードリソースの不適切な制御 (CWE-913)
Java で実装された複数の AMF3 ライブラリのデシリアライズ処理において、パラメータ 0個のコンストラクタが存在する任意のクラスのオブジェクトを生成させることが可能です。そのため、任意の Java Beans オブジェクトの setter メソッドを呼び出される可能性があります。
報告者が本脆弱性の影響を確認している製品およびバージョンと、それぞれに対応する CVE 番号は次のとおりです。

 ・Flamingo amf-serializer by Exadel 2.2.0 - CVE-2017-3202
 ・Flex BlazeDS 4.6.0.23207 および 4.7.2 - CVE-2017-5641
 ・GraniteDS 3.1.1.GA - CVE-2017-3200

これらのライブラリを使用している製品も本脆弱性の影響を受ける可能性があります。

XML 外部実体参照 (XXE) (CWE-611)
Java で実装された複数の AMF3 ライブラリのデシリアライズ処理には、XML 外部実体参照 (XXE) に関する脆弱性が存在します。そのため、サーバ上の機微なデータを取得されたり、サービス運用妨害 (DoS) 攻撃やサーバサイドリクエストフォージェリ (SSRF) 攻撃が行われたりする可能性があります。
報告者が本脆弱性の影響を確認している製品およびバージョンと、それぞれに対応する CVE 番号は次のとおりです。

 ・Flamingo amf-serializer by Exadel 2.2.0 - CVE-2017-3206
 ・Flex BlazeDS4.6.0.23207 - CVE-2015-3269
 ・GraniteDS 3.1.1.GA - CVE-2016-2340 (JVNVU#95707407)
 ・WebORB for Java by Midnight Coders 5.1.1.0 - CVE-2017-3208

これらのライブラリを使用している製品も本脆弱性の影響を受ける可能性があります。

詳細は、報告者のアドバイザリをご確認ください。

アドバイザリ
https://codewhitesec.blogspot.jp/2017/04/amf.html
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 9.8 (緊急) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
CVSS v2 による深刻度
基本値: 7.5 (危険) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃前の認証要否: 不要
  • 機密性への影響(C): 部分的
  • 完全性への影響(I): 部分的
  • 可用性への影響(A): 部分的
※上記は、CVE-2017-5983 の評価になります。
影響を受けるシステム


Apache Software Foundation
  • Flex BlazeDS 4.6.0.23207 および 4.7.2
Atlassian
  • JIRA 4.2.4 から 6.3.0 より前のバージョンまで
Exadel
  • Exadel flamingo_amf-serializer 2.2.0
Granite Data Services
  • Granite Data Services 3.1.1.GA
Midnight Coders
  • midnight_coders weborb_for_Java 5.1.1.0
Pivotal Software, Inc.
  • Spring spring-flex
日立
  • Hitachi Automation Director
  • Hitachi Compute Systems Manager
  • Hitachi Compute Systems Manager Software
  • Hitachi Device Manager
  • Hitachi Device Manager Software
  • Hitachi Replication Manager
  • Hitachi Replication Manager Software
  • Hitachi Tiered Storage Manager
  • Hitachi Tiered Storage Manager Software
  • Hitachi Tuning Manager
  • Hitachi Tuning Manager Software

上記の日立製品は、CVE-2017-5641 の脆弱性の影響を受けます。
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

細工されたシリアライズデータに対してデシリアライズ処理を行うことで、任意のコードを実行される可能性があります。
対策

製品ユーザの対策:
[アップデートを適用する]
使用している製品に対して提供されているアップデートやパッチを適用してください。また、本脆弱性の影響を受けるのはサポートを終了した古いバージョンのみであると回答している開発者もいます。開発者によるサポートが行われている最新バージョンにアップデートしてください。

製品開発者の対策:
[最新の JDK を使用する]
最新の Java Development Kit (JDK) を使用してください。JDK 8 update 121、JDK 7 update 131、JDK 6 update 141 では、デシリアライズ処理にフィルタ機能が実装されています。また、今後リリースされる予定の Java 9 ではさらなる保護の仕組みが提供される予定です。詳細は JEP 290 をご確認ください。

JEP 290
http://openjdk.java.net/jeps/290

[信用できないデータのデシリアライズ処理に注意する]
信頼できない情報元から受け取ったデータのデシリアライズ処理には注意が必要です。Java コーディングスタンダード CERT/Oracle 版の SER12-J と SER13-J をご参照ください。

SER12-J
http://www.jpcert.or.jp/java-rules/ser12-j.html

SER13-J
http://www.jpcert.or.jp/java-rules/ser13-j.html
ベンダ情報

Apache Software Foundation Atlassian 日立
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 信頼性のないデータのデシリアライゼーション(CWE-502) [IPA評価]
  2. XML 外部エンティティ参照の不適切な制限(CWE-611) [IPA評価]
  3. 動的に操作されるコードリソースの不適切な制御(CWE-913) [IPA評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2017-5983
  2. CVE-2017-3201
  3. CVE-2017-3199
  4. CVE-2017-3203
  5. CVE-2017-3207
  6. CVE-2017-3202
  7. CVE-2017-5641
  8. CVE-2017-3200
  9. CVE-2017-3206
  10. CVE-2015-3269
  11. CVE-2017-3208
  12. CVE-2016-2340
参考情報

  1. JVN : JVNVU#97538972
  2. JVN : JVNVU#95707407
  3. National Vulnerability Database (NVD) : CVE-2017-5983
  4. National Vulnerability Database (NVD) : CVE-2016-2340
  5. National Vulnerability Database (NVD) : CVE-2017-5641
  6. JPCERT : Java セキュアコーディングスタンダード CERT/Oracle 版 - シリアライズ (SER) 
  7. US-CERT Vulnerability Note : VU#307983
  8. 関連文書 : code white
更新履歴

  • [2017年05月12日]
      掲載
    [2017年08月04日]
      タイトル:内容を更新
      概要:内容を更新
      影響を受けるシステム:内容を更新
      想定される影響:内容を更新
      対策:内容を更新
      ベンダ情報:Apache Software Foundation の情報を追加
      ・[FLEX-35290] Deserialization of Untrusted Data via Externalizable.readExternal 
      ・Apache Flex BlazeDS 4.7.3 Release Notes 
      ・Apache Flex Users - CVE-2015-3269 Apache Flex BlazeDS Insecure Xml Entity Expansion Vulnerability 
      CWE による脆弱性タイプ一覧:内容を更新
      共通脆弱性識別子(CVE):内容を更新
      参考情報:JVN (JVNVU#95707407)を追加
      参考情報:National Vulnerability Database (NVD) (CVE-2016-2340) を追加
      参考情報:JPCERT (Java セキュアコーディングスタンダード CERT/Oracle 版 - シリアライズ (SER) ) を追加
      参考情報:関連文書 (code white) を追加
    [2017年10月17日]
      影響を受けるシステム:ベンダ情報の追加に伴い内容を更新
      ベンダ情報:日立 (hitachi-sec-2017-127) を追加
    [2018年02月05日]
      影響を受けるシステム:ベンダ情報の追加に伴い内容を更新
      ベンダ情報:日立 (hitachi-sec-2018-104) を追加
  • [2018年04月11日]
      参考情報:National Vulnerability Database (NVD) (CVE-2017-5641) を追加