脆弱性対応ウォッチ重大・クリティカル脆弱性のクラウド別対応まとめ
最新更新履歴CriticalHigh回避策のみパッチありAWSGCPAzureLinux
High CVSS 8.1 NEW KEV 悪用確認
CVE-2016-3081

Apache Struts 2 の動的メソッド呼び出しで任意コード実行(S2-032・KEV)

情報取得日: 2026/10/08・本ページは公開情報の非公式まとめです

CVE IDCVE-2016-3081
製品Apache / Apache Struts 2.3.20〜2.3.28(2.3.20.3 / 2.3.24.3 を除く・Dynamic Method Invocation 有効時)
CVSS8.1(High)
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
種別 (CWE)CWE-77 コマンドインジェクション
登録/公開日2026/10/08
KEV 期限2026/10/11 まで(米国連邦機関向け目安)
推奨対応ベンダーの指示に従って緩和策を適用し、CISA の BOD 26-04(リスクに基づくセキュリティ更新の優先順位付け)および「Forensics Triage Requirements」に従うこと。クラウドサービスについては該当する BOD 26-04 のガイダンスに従い、緩和策が無い場合は当該製品の使用を停止すること。各資産のインターネット露出を評価し、BOD 26-04 のパッチ適用ガイドラインを順守する責任は利用者側にある。
出典https://nvd.nist.gov/vuln/detail/CVE-2016-3081

概要

Java の Web アプリケーションフレームワーク Apache Struts 2 で、**Dynamic Method Invocation(DMI)が有効なとき、`method:` 接頭辞を使ったリクエストで OGNL 式が評価され、リモートの攻撃者が任意のコードを実行できる**欠陥(Apache のセキュリティ告知 S2-032)。Apache の告知では対象は Struts 2.3.20〜2.3.28 で、2.3.20.3 と 2.3.24.3 は除く。NVD の記述では 2.3.19 からを対象に含めている。 **悪用が確認されている。** 公開は 2016年4月で、Metasploit のモジュールや Exploit-DB の攻撃コードが公開されている。CISA は 2026年10月8日に KEV へ収載し、**是正期限を 2026年10月11日**とした。KEV 上のランサムウェア利用は Unknown(不明)。 CVSS は NVD(Primary)の CVSS 3.0 が 8.1 High(AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)、CISA-ADP の 3.1 も 8.1 で一致している。攻撃の複雑さが High とされているのは DMI が有効という前提があるためで、条件がそろえば認証無しで成立する。

クラウド/OS 別の対応状況

各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。

AWS / GCP / Azure / Linux いずれも対応区分は同じです: パッチあり(アプリ更新) 参照先も共通です(一次情報)。 下の表は環境ごとの補足です。
環境対応状況対応方法・備考
AWS (ECS/EC2) パッチあり(アプリ更新)
EC2 / ECS / Elastic Beanstalk 上の Java アプリに同梱した Struts を 2.3.20.3 / 2.3.24.3 / 2.3.28.1 以上へ更新して再デプロイする。更新まで DMI を無効化する。
AWS 側の修正ではなくアプリケーションの更新が対処。
参照リンク
GCP パッチあり(アプリ更新)
Compute Engine / GKE / App Engine 上の Java アプリの Struts を修正版へ更新する。更新まで DMI を無効化する。
GCP 側にパッチは無い。
参照リンク
Azure パッチあり(アプリ更新)
Azure VM / AKS / App Service 上の Java アプリの Struts を修正版へ更新する。更新まで DMI を無効化する。
Azure 側の修正ではなくアプリケーションの更新が対処。
参照リンク
Linux パッチあり(アプリ更新)
アプリケーションに同梱した struts2-core を 2.3.20.3 / 2.3.24.3 / 2.3.28.1 以上へ更新する。
通常はアプリ同梱のライブラリなので、ディストリの更新では直らない。
参照リンク

解決の方向性(パッチ/回避策/代替)

**Struts を修正版へ更新する。** Apache の告知の修正版は 2.3.20.3、2.3.24.3、2.3.28.1 で、告知は「更新で互換性の問題は起きない」としている。 **更新できない場合は DMI を無効にする。** 告知の回避策は、可能なら Dynamic Method Invocation を無効化すること(`struts.enable.DynamicMethodInvocation` を `false`)、または修正版のソースを元に独自の ActionMapper を実装すること。DMI はアプリが使っていないことも多いので、まず設定を確認する。 **影響を受けるかの確認**は、アプリケーションに同梱された `struts2-core-*.jar` の版と、struts.xml / struts.properties での DMI の設定を見る。2016年の欠陥なので、対象になるのは長期間更新していない業務アプリや、Struts を組み込んだ製品(NVD の参照には Oracle や Huawei の告知がある)である。 **完了条件**は、(1)Struts 2.3 系を使う全アプリが修正版以上であること、(2)更新できないアプリでは DMI を無効にしていること、の2点である。

よくある質問(CVE-2016-3081)

CVE-2016-3081(Apache Struts 2.3.20〜2.3.28)の影響は?

High(CVSS 8.1)に分類されるApache Apache Struts 2.3.20〜2.3.28(2.3.20.3 / 2.3.24.3 を除く・Dynamic Method Invocation 有効時)の脆弱性です。Java の Web アプリケーションフレームワーク Apache Struts 2 で、**Dynamic Method Invocation(DMI)が有効なとき、`method:` 接頭辞を使ったリクエストで OGNL 式が評価され、リモートの攻撃者が任意のコードを実行できる**欠陥(Apache のセキュリティ告知 S2-032)。Apache の告知では対象は Struts 2.3.20〜2.3.28 で、2.3.20.3 と 2.3.24.3 は除く。NVD の記述では 2.3.19 からを対象に含めている。 **悪用が確認されている。** 公開は 2016年4月で、Metasploit のモジュールや Exploit-DB の攻撃コードが公開されている。CISA は 2026年10月8日に KEV へ収載し、**是正期限を 2026年10月11日**とした。KEV 上のランサムウェア利用は Unknown(不明)。 CVSS は NVD(Primary)の CVSS 3.0 が 8.1 High(AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)、CISA-ADP の 3.1 も 8.1 で一致している。攻撃の複雑さが High とされているのは DMI が有効という前提があるためで、条件がそろえば認証無しで成立する。

CVE-2016-3081 の対応方法・回避策は?

**Struts を修正版へ更新する。** Apache の告知の修正版は 2.3.20.3、2.3.24.3、2.3.28.1 で、告知は「更新で互換性の問題は起きない」としている。 **更新できない場合は DMI を無効にする。** 告知の回避策は、可能なら Dynamic Method Invocation を無効化すること(`struts.enable.DynamicMethodInvocation` を `false`)、または修正版のソースを元に独自の ActionMapper を実装すること。DMI はアプリが使っていないことも多いので、まず設定を確認する。 **影響を受けるかの確認**は、アプリケーションに同梱された `struts2-core-*.jar` の版と、struts.xml / struts.properties での DMI の設定を見る。2016年の欠陥なので、対象になるのは長期間更新していない業務アプリや、Struts を組み込んだ製品(NVD の参照には Oracle や Huawei の告知がある)である。 **完了条件**は、(1)Struts 2.3 系を使う全アプリが修正版以上であること、(2)更新できないアプリでは DMI を無効にしていること、の2点である。

自分の環境が CVE-2016-3081 の影響を受けるか確認するには?

Apache Apache Struts 2.3.20〜2.3.28(2.3.20.3 / 2.3.24.3 を除く・Dynamic Method Invocation 有効時) を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2016-3081)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。

CVE-2016-3081 は実際に悪用されている?

はい。CISA の既知の悪用された脆弱性カタログ(KEV)に登録されており、実環境での悪用が確認されています。米国連邦機関向けの対応期限の目安は 2026/10/11 です。推奨される対応: ベンダーの指示に従って緩和策を適用し、CISA の BOD 26-04(リスクに基づくセキュリティ更新の優先順位付け)および「Forensics Triage Requirements」に従うこと。クラウドサービスについては該当する BOD 26-04 のガイダンスに従い、緩和策が無い場合は当該製品の使用を停止すること。各資産のインターネット露出を評価し、BOD 26-04 のパッチ適用ガイドラインを順守する責任は利用者側にある。

参考情報(出典)

本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください。

ベンダー公式・PSIRT アドバイザリ
CISA KEV(悪用確認・対応期限・ランサム利用の出典)
NVD(CVE 基本情報・CVSS スコアの出典)
免責: 本ページは CISA KEV・NVD・各ベンダー公式アドバイザリ等の公開情報をもとにした非公式まとめです。修正バージョンや対応可否は変更される場合があります。実際の対応は必ず 出典元および各ベンダー公式情報・自環境で確認してください。

« 一覧に戻る