Apache Struts Vulnerabilities Enable Remote Code Execution, DoS and Data Disclosure
2026/10/06 gbhackers — Apache が公表したのは、Struts に存在する 4 件の脆弱性の情報であり、影響を受けるアプリケーションにおいてリモート・コード実行/サービス拒否 (DoS)/ユーザー間のデータ漏えいなどのリスクが生じると警告を発している。すでに Apache は、修正版として Struts 7.4.0/6.12.0 を提供している。これらの問題は、旧式のアクションマッピング/小数値のレンダリング/REST リクエスト処理/ローカライズされたメッセージのフォーマットに影響を及ぼす。

Apache Struts の脆弱性
2026年8月3日〜9月4日にかけて公開された同社のアドバイザリでは、これらの脆弱性は CVE-2026-104711~CVE-2026-104714 として識別されている。影響の範囲は、アプリケーションの設定/使用しているコンポーネントによって異なるため、すべての Struts 環境が 4 件の脆弱性から影響を受けるわけではない。
脆弱性 CVE-2026-104711 は、旧式の RESTful アクション・マッパーに存在する OGNL (Object-Graph Navigation Language) インジェクションの脆弱性である。細工したリクエストを介して式を注入することで、リモート・コード実行につながる可能性がある。
影響を受けるバージョンは Struts 2.0.0~2.3.37/2.5.0~2.5.33/6.0.0~6.11.0 である。また、Struts 7.0.0~7.3.0 に関しては、OGNL の許可リストが無効化されている場合に限り影響を受ける。
Apache のアドバイザリでは、この脆弱性のリスクは中程度と評価されている。なお、デフォルトマッパー/restful2 マッパー/Struts REST プラグインを使用するアプリケーションは影響を受けない。
Struts 7 のデフォルト設定は、OGNL の許可リストが有効な状態になっているため、この脆弱性の影響を受けない。管理者は、アップグレードを準備するまでの間、影響を受けない別のマッパーへと、旧式のマッパーを置き換えることができる。
脆弱性 CVE-2026-104712 は、不釣り合いに大きなレスポンスを生成させる未認証の攻撃者に対して、CPU/外向きネットワークの処理能力の枯渇を許す欠陥である。
リクエスト・パラメータが java.math.BigDecimal プロパティへバインドされ、その後 Struts のタグライブラリを通じてレンダリングされる場合に、この脆弱性は発生する。これにより、小さなリクエストから何桁も大きなレスポンスが生成される。
攻撃者が使用できる帯域幅が限られている場合であっても、継続的なサービス妨害につながる可能性がある。影響を受けるリリースは、2.5.14~2.5.33/6.0.0~6.11.0/7.0.0~7.3.0 である。
その他の数値型/JSON プラグインのレスポンス/REST プラグインのレスポンスは影響を受けない。一時的な回避策として、レンダリング前にスケールを制限する独自の BigDecimal 型コンバータを使用できる。
CVE-2026-104713 は「Important」と評価されており、オプションの REST プラグインに影響する。このプラグインは、サイズ制限を適用せずにリクエスト・ボディをメモリへ読み込むため、1 件の過大なリクエストだけでヒープメモリが枯渇し、サービス拒否 (DoS) に至る可能性がある。
影響を受けるバージョンは 2.1.8~2.3.37/2.5.0~2.5.33/6.0.0~6.11.0/7.0.0~7.3.0 である。修正版では、デフォルトの上限として 2,097,152 文字が設定されている。
より大きなリクエストボディを必要とするアプリケーションでは、struts.rest.content.maxLength を使用して設定を調整できる。アップグレードできる状態になるまでは、リバースプロキシ/サーブレットコンテナを用いてリクエスト・サイズの上限を設定する必要がある。
CVE-2026-104714 は、日付/時刻の引数を含むローカライズされたメッセージなどで用いられる、共有フォーマッタに影響を及ぼす。同時に処理されるリクエストが相互に干渉することで、あるユーザーの値が別のユーザーへのレスポンスに表示され、サーバエラーが発生する可能性もある。
この問題は、悪意のない通常のトラフィックでも発生する可能性がある。影響を受けるのは、アプリケーション側で定義されたメッセージ・バンドルであり、Struts に付属するメッセージではない。影響を受けるバージョンは、2.0.0~2.3.37/2.5.0~2.5.33/6.0.0~6.11.0/7.0.0~7.3.0 である。
組織に求められるのは、Struts 7.4.0/6.12.0 へアップグレードすることである。一時的な緩和策としては、日付/時刻の値をメッセージへ埋め込む前に、フォーマットしておく必要がある。サポート終了ブランチを維持しているチームに求められるのは、これらの脆弱性に対する回避策だけに依存せず、サポート対象のリリースへ移行することである。
Apache Struts に存在する、一連の深刻な不備に関する情報が公開されています。リクエスト処理やデータ描画機能における設計上の欠陥に伴い、遠隔からの任意コードの実行/システムリソースの枯渇による応答停止/利用者間における意図しない情報混入といった被害が生じるおそれがあります。なお、対象となる CVE は CVE-2026-104711/CVE-2026-104712/CVE-2026-104713/CVE-2026-104714 です。対応策として修正済みの安全なバージョンへの更新/代替処理の設定変更/受信データの制限適用が求められます。
You must be logged in to post a comment.