製品・ソフトウェアに関する情報
Apache Struts2 に任意のコードが実行可能な脆弱性
Title Apache Struts2 に任意のコードが実行可能な脆弱性
Summary

Apache Struts2 には、任意のコードが実行可能な脆弱性が存在します。 Apache Struts2 には、Jakarta Multipart parser の処理に起因する、任意のコードが実行可能な脆弱性が存在します。 なお、本脆弱性の攻撃コードが公開されています。

Possible impacts 遠隔の第三者によって細工されたリクエストを処理することで、アプリケーションの権限で任意のコードを実行される可能性があります。
Solution

[アップデートする] 本脆弱性が修正されたバージョン (Struts 2.3.32 および Struts 2.5.10.1) へアップデートする。 [ワークアラウンドを実施する] 次のワークアラウンドを実施し、本脆弱性の影響を軽減する。  * サーブレットフィルタや Web Application Firewall などを使用して、Content-Type ヘッダを検証し、"multipart/form-data" が文字列として含まれる不正なリクエストを遮断する  * File Upload Interceptor を無効化する (Struts 2.5.8 から Struts 2.5.10 に対してのみ有効)   File Upload Interceptor   https://struts.apache.org/docs/file-upload-interceptor.html JPCERT/CCからの補足情報【2017年3月17日追記】 開発者は、multipart/form-data を扱うパーサを、デフォルトの JakartaMultipartRequest から別の実装に変更する方法を、対策として記載しています。 JPCERT/CC による検証では、本脆弱性の影響を受けるバージョンにおいて JakartaStreamMultiPartRequest に変更しても本脆弱性の影響を受けることを確認したため、対策方法から削除しています。 別の実装 https://cwiki.apache.org/confluence/display/WW/File+Upload#FileUpload-AlternateLibraries

Publication Date March 9, 2017, midnight
Registration Date March 10, 2017, 10:47 a.m.
Last Update Oct. 3, 2017, 1:51 p.m.
CVSS3.0 : 緊急
Score 9.8
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS2.0 : 危険
Score 10
Vector AV:N/AC:L/Au:N/C:C/I:C/A:C
Affected System
Apache Software Foundation
Apache Struts 2.3.5 から 2.3.31 まで
Apache Struts 2.5 から 2.5.10 まで
日本電気
ESMPRO/ServerManager 6.10 から 6.16
InfoFrame Relational Store 全バージョン
iStorage HSシリーズ 5.0.5
StarOffice X Enterprise V4.0
StarOffice X Enterprise V5.0
StarOffice X Enterprise V5.1
StarOffice X Standard V4.0
StarOffice X Standard V5.0
StarOffice X Standard V5.1
WebOTX Developer (with Developer's Studio) V9.3
WebOTX Developer (with Developer's Studio) V9.4
日立
HiRDB Server Version 9
HiRDB Control Manager - Server Version 9
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
No Changed Details Date of change
0 [2017年03月10日]
  掲載
[2017年03月15日]
  CVSS による深刻度:内容を更新
  ベンダ情報:Apache Software Foundation (Uses default error key if specified key doesn't exist (3523064)) を追加
  ベンダ情報:Apache Software Foundation (Uses default error key if specified key doesn't exist (6b8272c)) を追加
  ベンダ情報:シスコシステムズ (Content-Type: Malicious - New Apache Struts2 0-day Under Attack) を追加
  CWE による脆弱性タイプ一覧:CWE-ID を追加
  参考情報:National Vulnerability Database (NVD) (CVE-2017-5638) を追加
  参考情報:US-CERT Vulnerability Note (NVD) (VU#834067) を追加
[2017年03月21日]
  対策:内容を更新
[2017年04月17日]
  影響を受けるシステム:ベンダ情報の追加に伴い内容を更新
  ベンダ情報:日立 (hitachi-sec-2017-110) を追加
[2017年07月25日]
  影響を受けるシステム:ベンダ情報の追加に伴い内容を更新
  ベンダ情報:日本電気 (NV17-013) を追加
[2017年09月04日]
  ベンダ情報:富士通 (Veritas NetBackup: 任意のコマンドが実行される脆弱性(CVE-2017-5638) (2017年9月1日)) を追加
[2017年10月03日]
  影響を受けるシステム:ベンダ情報 (NV17-013) の更新に伴い内容を更新
Feb. 17, 2018, 10:37 a.m.

NVD Vulnerability Information
CVE-2017-5638
Summary

The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers to execute arbitrary commands via a crafted Content-Type, Content-Disposition, or Content-Length HTTP header, as exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string.

Summary

El analizador sintáctico Jakarta Multipart en Apache Struts 2 en versiones 2.3.x anteriores a la 2.3.32 y versiones 2.5.x anteriores a la 2.5.10.1 no maneja correctamente las excepciones y la generación de mensajes de error, lo que permite a atacantes remotos ejecutar comandos arbitrarios a través de una cadena #cmd= en un encabezado HTTP de Content-Type, Content-Disposition o Content-Length manipulado.

Publication Date March 11, 2017, 11:59 a.m.
Registration Date Jan. 26, 2021, 1:26 p.m.
Last Update April 22, 2026, 2:04 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:* 2.2.3 2.3.32
cpe:2.3:a:apache:struts:*:*:*:*:*:*:*:* 2.5.0 2.5.10.1
cpe:2.3:o:ibm:storwize_v3500_firmware:7.7.1.6:*:*:*:*:*:*:*
cpe:2.3:o:ibm:storwize_v3500_firmware:7.8.1.0:*:*:*:*:*:*:*
cpe:2.3:o:ibm:storwize_v5000_firmware:7.7.1.6:*:*:*:*:*:*:*
cpe:2.3:o:ibm:storwize_v5000_firmware:7.8.1.0:*:*:*:*:*:*:*
cpe:2.3:o:ibm:storwize_v7000_firmware:7.7.1.6:*:*:*:*:*:*:*
cpe:2.3:o:ibm:storwize_v7000_firmware:7.8.1.0:*:*:*:*:*:*:*
cpe:2.3:o:lenovo:storage_v5030_firmware:7.7.1.6:*:*:*:*:*:*:*
cpe:2.3:o:lenovo:storage_v5030_firmware:7.8.1.0:*:*:*:*:*:*:*
cpe:2.3:a:hp:server_automation:9.1.0:*:*:*:*:*:*:*
cpe:2.3:a:hp:server_automation:10.0.0:*:*:*:*:*:*:*
cpe:2.3:a:hp:server_automation:10.1.0:*:*:*:*:*:*:*
cpe:2.3:a:hp:server_automation:10.2.0:*:*:*:*:*:*:*
cpe:2.3:a:hp:server_automation:10.5.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:weblogic_server:10.3.6.0.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:weblogic_server:12.1.3.0.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:weblogic_server:12.2.1.1.0:*:*:*:*:*:*:*
cpe:2.3:a:oracle:weblogic_server:12.2.1.2.0:*:*:*:*:*:*:*
cpe:2.3:a:arubanetworks:clearpass_policy_manager:*:*:*:*:*:*:*:* 6.6.5
cpe:2.3:a:netapp:oncommand_balance:-:*:*:*:*:*:*:*
Configuration2 or higher or less more than less than
Related information, measures and tools
Common Vulnerabilities List