Strutsの入力制限に抜け。更新後の設定も確認する
バグマゲドン対策委員会 · 日本語編集版 · 内容更新 2026-10-30
Struts 2のRESTプラグインで、特定の入力に制限がかからず、データ改ざんにつながる可能性が公表されました。7.4.0以降への更新に加え、チェックを有効にする設定が必要です。
日本語要約・編集:バグマゲドン対策委員会。本記事公開:2026-10-30 / 本記事更新:2026-10-30 / 原文確認:2026-10-30。
原文発行:JVN / Apache / 原文公表:2026-10-29。
対象と影響
Strutsを使う受発注・予約などのWebシステムでは、開発会社への確認が必要です。全Struts環境が対象ではなく、RESTの使い方とアプリ内の指定で影響が変わります。
自社で確認すること
開発担当へ、RESTプラグインの利用・入力制限の設定・更新後の検証を確認する。
- Struts 2の7.2.1〜7.3.0で、struts.parameters.requireAnnotations=trueと、RESTで入力を受けるAction/Modelの@JsonAnySetterを併用しているか確認する。
- 7.4.0以降へ更新し、struts.rest.anySetter.requireAnnotations=trueを設定する。許可するany-setterに@StrutsParameter(allowDynamicKeys = true)を付け、動作を検証する。
- すぐ更新できない場合は、該当クラスの@JsonAnySetterを使わないか、保存前にアプリ側で入力値を検証する。更新だけで設定済みとは判断しない。
攻撃の流れと防御の確認箇所
RESTへの入力 → 一部の入力制限を通過 → データ改ざんの可能性
防御の確認箇所:Struts更新・入力制限の明示設定
優先度の考え方
利用構成を確認。特定のアノテーションと設定の組み合わせが対象。JVN本文に悪用や被害の確認、CVE番号・CVSS値の掲載はなく、独自に補完していません。
優先度は編集上の判断です。公式CVSSや、自社への実際の影響の確定とは区別してください。
報告の範囲
Strutsの特定構成の利用環境。発信元を示し、被害地域・攻撃元ではありません。
原文と確認箇所
- JVN / Apache — Apache Struts 2 RESTプラグインにおける、@StrutsParameterの制限が@JsonAnySetterに適用されない問題
- 追加の一次資料
- 追加の一次資料
JVNの公開・最終更新日はいずれも2026/10/29。対象7.2.1〜7.3.0、発生条件、データ改ざんの可能性、7.4.0以降と設定による対処を確認。ApacheのJackson any-setters節でも、追加設定が初期値falseであることと必要なアノテーションを照合。
海外の公的機関・ベンダーの一次情報を確認し、日本の小規模企業向けに独自要約。全文翻訳ではありません。対策優先度と小規模企業への影響は編集上の判断で、公式CVSSとは区別しています。
