Apache Commons FileUpload のマルチパートリクエストの処理に起因する DoS の脆弱性(Scan Tech Report)
Apache Struts や Apache Tomcat で利用される Apache Commons FileUpload に、サービス運用妨害 (DoS) が発生する脆弱性が報告されています。
脆弱性と脅威
エクスプロイト
Apache Struts や Apache Tomcat で利用される Apache Commons FileUpload に、サービス運用妨害 (DoS) が発生する脆弱性が報告されています。
リモートの第三者に利用された場合、CPU リソースを大量消費させ、システムの正常な動作が妨害される可能性があります。
脆弱性を悪用された場合の影響度が高いため、影響を受けるバージョンの Apache Struts および Apache Tomcat を利用するユーザは可能な限り以下の対策を実施することを推奨します。
2.深刻度(CVSS)
5.0
http://jvndb.jvn.jp/cvss/ScoreCalc2.swf?name=JVNDB-2014-000017&vector=(AV:N/AC:L/Au:N/C:N/I:N/A:P/E:P/RL:O/RC:C)&lang=ja&g=1
3.影響を受けるソフトウェア
Apache Commons FileUpload 1.3 以前
Apache Struts 2.3.16 以前
Apache Tomcat 7.0.50 以前
Apache Tomcat 8.0.1 以前
※1 Apache Commons FileUpload を利用する Jenkins, JSPWiki, JXP, Spring, Lucene-Solr, onemind-commons, Stapler, WSDL2c などのソフトウェアもこの脆弱性の影響を受ける可能性があります。
4.解説
Apache Commons は、再利用可能な Java コンポーネントをまとめた Apache プロジェクトです。その中の 1 つである FileUpload は、RFC 1867※2 で規定されるマルチパート形式のリクエストに対応したファイルアップロード機能を提供します。
Apache Struts 2.x および Apache Tomcat 7.x/8.x では、マルチパート形式のリクエストを処理するために、この Apache Commons FileUpload をコンポーネントとして使用しています。
Apache Commons FileUpload には、マルチパート形式のリクエストを扱う際に、Content-Type ヘッダの boundary パラメータを適切に処理しない不備があります。
このため、当該パラメータに 4092 バイト以上の文字列が指定された不正なマルチパート形式のリクエストを処理した場合、無限ループが発生し、大量の CPU リソースを消費してしまう脆弱性が存在します。
この脆弱性を利用することで、リモートの攻撃者は、Apache Commons FileUpload を利用する Apache Struts や Apache Tomcat が稼動するシステムのパフォーマンスを低下させ、システムをサービス不能状態にする可能性があります。
なお、Apache Tomcat 6 の管理アプリケーションの一部で、Apache Commons FileUpload をコンポーネントとして使用しているため、Apache Tomcat 6 もこの脆弱性の影響を受ける可能性があることが発見者である HIRT※3 より報告されています。
但し、当該管理アプリケーションは、認証されたユーザのみが使用できるものであり、脆弱性の影響は限定的であるとしています。
※2 http://www.ietf.org/rfc/rfc1867.txt
※3 http://www.hitachi.co.jp/hirt/publications/hirt-pub14003/index.html
5.対策
○Apache Commons FileUpload
======
以下の Web サイトより、Apache Commons FileUpload 1.3.1 以降を入手しアップデートすることで、この脆弱性を解消することが可能です。
Apache Commons FileUpload 1.3.1:
http://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi
……………………………………………………………………………………………
○Apache Struts
======
以下のサイトより Apache Struts 2.3.16.1 以降を入手しアップデートすることで、この脆弱性を解消することが可能です。
Apache Struts 2.3.16.1:
http://struts.apache.org/downloads.html
……………………………………………………………………………………………
○Apache Tomcat
======
以下のサイトより Apache Tomcat 7.0.52/8.0.3 以降を入手しアップデートすることで、この脆弱性を解消することが可能です。
あるいは、HTTP リクエストを扱う際の Content-Type ヘッダのサイズを 4091 バイト未満に制限することで、この脆弱性による影響を緩和することも可能です。
Apache Tomcat 7.0.52:
http://tomcat.apache.org/download-70.cgi
Apache Tomcat 8.0.3:
http://tomcat.apache.org/download-80.cgi
6.ソースコード
(Web非公開)
(執筆:株式会社ラック サイバー・グリッド研究所)
※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。
Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
ソース・関連リンク
関連記事
Scan PREMIUM 会員限定記事
もっと見る-
-
Jenkins に任意のファイルの読み取りが可能となるコマンドラインインターフェース機能におけるアクセス制御不備の脆弱性(Scan Tech Report)
2024 年 1 月に公開された、任意のファイルの読み取りが可能となる Jenkins の脆弱性に対するエクスプロイトコードが公開されています。
-
今日もどこかで情報漏えい 第22回「2024年2月の情報漏えい」プロモーションではなかった 公式 X への攻撃
2 月に最も件数換算の被害規模が大きかったのは、株式会社大藤つり具による「大藤つり具にランサムウェア攻撃、過去にダイレクトメールを送付した顧客情報が流出した可能性」の最大 約20 万件だった。
-
人かAIか? 生成方法別フィッシングメール打率比較
類似の実験では「見分けがつかない」「成功率が高い」といった結果にとどまっていることが多いが、この論文では AI 作成フィッシングメールの「品質評価」、人力と AI 作成メールに対して AI がどの程度、真贋や意図を判定できるかにまで踏み込んで調べた。