公開日:2016/06/30 最終更新日:2017/11/09

JVN#89379547
Apache Commons FileUpload におけるサービス運用妨害 (DoS) の脆弱性

概要

Apache Commons FileUpload には、サービス運用妨害 (DoS) の脆弱性が存在します。

影響を受けるシステム

  • Commons FileUpload 1.3 から 1.3.1 まで
  • Commons FileUpload 1.2 から 1.2.2 まで
  • Tomcat 9.0.0.M1 から 9.0.0M6 まで
  • Tomcat 8.5.0 から 8.5.2 まで
  • Tomcat 8.0.0.RC1 から 8.0.35 まで
  • Tomcat 7.0.0 から 7.0.69 まで
  • Struts 2.5.1 およびそれ以前
なお、開発者によると、サポートされていない Apache Commons FileUpload 1.0.x および 1.1.x も本脆弱性の影響を受ける可能性があるとのことです。

なお、Apache Commons FileUpload は、Apache が提供する複数の製品に使用されているため、Apache Tomcat 以外の製品も、本脆弱性の影響を受ける可能性があります。Apache から提供された情報によると、FileUpload を使用する以下の製品も本脆弱性の影響を受ける可能性があるとのことです。
  • Jenkins
  • JSPWiki
  • JXP
  • Lucene-Solr
  • onemind-commons
  • Spring
  • Stapler
  • Struts 1
  • WSDL2c

詳細情報

Apache Software Foundation が提供する Apache Commons FileUpload には、マルチパートリクエストの処理に問題があり、 結果としてサービス運用妨害 (DoS) 攻撃を受ける可能性があります。

想定される影響

細工されたリクエストを処理することで、対象サーバの CPU リソースが枯渇する可能性があります。

対策方法

アップデートする
本脆弱性を修正した各製品のアップデートが公開されました。
開発者の提供する情報をもとに、最新版にアップデートしてください。

Apache Struts を使用しているユーザは、同梱されている Commons FileUpload を本脆弱性の修正がされているバージョンに置き換えてください。

ワークアラウンドを実施する
アップデートを適用するまでの間、以下の回避策を適用することで本脆弱性の影響を軽減することが可能です。
  • HTTP リクエストヘッダの大きさを制限する
なお、開発者によると、Apache Httpd および Apache Tomcat は、それぞれ LimitRequestFieldSize および maxHttpHeaderSize の設定により、HTTP リクエストヘッダの大きさを制限することが可能です。また、上限を 2048 バイトに設定することで本脆弱性の影響を受けないとしています。詳しくは、開発者が提供する情報をご確認ください。

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
富士通株式会社 該当製品あり(調査中) 2016/07/07
日本電気株式会社 該当製品あり 2017/11/08
株式会社エヌ・ティ・ティ・データ 該当製品あり 2016/08/03 株式会社エヌ・ティ・ティ・データ の告知ページ

参考情報

JPCERT/CCからの補足情報

ベンダ情報のリンクでは、タイトルに "information disclosure vulnerability" (情報漏えい) と記載されていますが、正しくは "Denial of Service" (サービス運用妨害) です。

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
基本値: 5.3
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:N/AC:L/Au:N/C:N/I:N/A:P
基本値: 5.0
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

謝辞

この脆弱性情報は、情報セキュリティ早期警戒パートナーシップに基づき下記の方が IPA に報告し、JPCERT/CC が開発者との調整を行いました。
報告者: 株式会社NTTデータ TERASOLUNA FW(Struts1)チーム

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2016-3092
JVN iPedia JVNDB-2016-000121

更新履歴

2016/07/01
富士通株式会社のベンダステータスが更新されました
2016/07/06
日本電気株式会社のベンダステータスが更新されました
2016/07/07
対策方法の誤植を修正しました。富士通株式会社のベンダステータスが更新されました。
2016/08/04
株式会社エヌ・ティ・ティ・データのベンダステータスが更新されました
2016/08/12
日本電気株式会社のベンダステータスが更新されました
2016/09/15
日本電気株式会社のベンダステータスが更新されました
2016/11/02
日本電気株式会社のベンダステータスが更新されました
2017/02/01
日本電気株式会社のベンダステータスが更新されました
2017/07/25
日本電気株式会社のベンダステータスが更新されました
2017/10/02
日本電気株式会社のベンダステータスが更新されました
2017/11/09
日本電気株式会社のベンダステータスが更新されました