IT Post

by Rice Studio Lab


記事を検索
文字サイズ
ふりがな
セキュリティ

Webシステムの基盤「Apache Struts 2」に新たな脆弱性、ロケール設定だけでサーバーが落ちるのはなぜか。CVE-2026-73635の中身を確かめる

認証なしで突かれる思わぬ弱点、JVNは深刻度8.7と評価——サポート終了版には修正なし、Apache Struts 2の新たな脆弱性を確かめる

30秒で分かる結論

Java言語で作られたWebアプリケーションの開発によく使われるオープンソースのフレームワーク「Apache Struts 2」に、サービス運用妨害(DoSどす)につながる新たな脆弱性が見つかりました。脆弱性情報サイト「JVN」は2026年8月25日、この脆弱性(JVN#08517956、CVE-2026-73635)を公表しています。原因は、表示言語などを切り替える「ロケール」の設定に関する処理で、認証を必要としない第三者がサーバー内部のキャッシュ(一時保存領域)を際限なく増やせてしまう点にあります。悪用されると、サーバーのメモリを使い果たして機能を停止させられるおそれがあります。JVNはこの脆弱性の深刻度をCVSS v4.0で8.7、CVSS v3.0で7.5と、いずれも高い区分で評価しています。修正済みのバージョン(7.3.0、6.11.0)へのアップデートのほか、ロケールを固定する設定にしている場合はこの脆弱性の影響を受けません。

この記事の目次 7項目
出典を確認する(2件)
記事のテーマを表した生成イメージ
生成AIによるイメージ。実物や実際の画面ではありません。

まず初めに

「言語の表示設定をいじられただけでサーバーが根を上げる」というのは、なかなか香ばしい話だ。ロケールの処理といえば、普段は「日本語か英語か」を切り替えるだけの地味な脇役のはずなのに、まさかそこにサーバーを止められる抜け道が仕込まれていたとは、開発した側も想定外だったのだろう。しかも肝心のApache Struts開発チーム自身は「深刻度は中程度」と自己採点している一方、JVNは「かなり深刻」の側に振っているというのだから、評価する側によって温度差があるのもまた一興である。※個人の感想です

サーバーと書類を描いた挿絵
生成AIによるイメージ。実物や実際の画面ではありません。

何が起きているのか

「Apache Struts 2」は、The Apache Software Foundationが提供する、Java言語で企業のWebシステムやWebアプリケーションを開発するためのオープンソースの枠組みわくぐみ(フレームワーク)です。国内外の多くの企業システムで使われてきた実績があります。

JVN(IPAとJPCERT/CCが共同運営する脆弱性対策情報サイト)は2026年8月25日、Apache Struts 2に見つかった脆弱性「JVN#08517956」を公表しました。採番されたCVE番号はCVE-2026-73635です。原因は、Struts内部で使われている国際化(多言語対応)の仕組みにあり、Webサイトを訪れた利用者が指定する「ロケール」(表示言語や地域の設定)の情報をもとに、サーバー内部でテキストをキャッシュ(一時保存)する処理に、保存できる量の上限が設けられていなかったことです。

この処理は認証(ログイン)を必要としないため、悪意のある第三者が、ロケールの設定を変えながら大量のリクエストを送りつけることで、サーバー側のキャッシュ領域を際限なく増やし続けることができてしまいます。最終的にサーバーのメモリ(ヒープ領域)を使い果たすと、対象のWebシステムがサービス運用妨害(DoS、機能停止)の状態に陥るおそれがあります。

深刻度については、JVNがCVSS v3.0で7.5(高)、CVSS v4.0で8.7(重要)と評価している一方、Apache Struts開発チーム自身は独自の基準で「Moderate(中程度)」と評価しており、評価する立場によって深刻度の受け止め方に差がある点も特徴です。修正は2026年8月25日時点で公開されているバージョン7.3.0・6.11.0で行われています。一方、既にサポートが終了しているバージョン2.0.0から2.3.37まで、および2.5.0から2.5.33までにもこの脆弱性は存在しますが、これらのバージョンに対する修正は提供されません。なお、Struts側の設定で「struts.locale」定数を使ってロケールをあらかじめ固定している環境は、この脆弱性の影響を受けないとされています。

なぜ重要なのか

Apache Struts 2は、長年にわたり国内外の企業の基幹システムや業務システムで広く採用されてきたフレームワークです。過去にも、リモートから任意のコードを実行できる深刻な脆弱性が繰り返し見つかっており、実際に悪用された事例が過去に社会問題化したこともあります。今回の脆弱性はコードの実行にまでは至らないものの、認証なしに外部から攻撃を仕掛けられる点、そして原因がロケール処理という一見地味な機能にある点で、見落とされやすい種類の弱点だといえます。

サポートが終了した古いバージョン(2.0系・2.5系)には修正が提供されないため、これらのバージョンを使い続けているシステムでは、脆弱性を解消する手段が事実上「新しいバージョンへの移行」しかないという点も重要です。ソフトウェアのサポート終了(EOLいーおーえる)後も同じバージョンを使い続けることのリスクを、あらためて示す事例といえます。

私たちへの影響

Apache Struts 2は開発者やシステム管理者が扱う技術であり、一般の利用者が直接この脆弱性を意識したり対処したりする場面はありません。ただし、企業のWebサイトやオンラインサービスの裏側でこのフレームワークが使われている場合、対応が遅れればサービスが一時的に利用できなくなる可能性があります。ふだん使っているWebサービスが「メンテナンス中」や「アクセスが集中しつながりにくい」と案内される背景に、こうした基盤ソフトウェアの脆弱性対応が関係していることもあります。

企業のシステム管理者にとっては、自社のシステムで対象バージョンのApache Struts 2を使用していないか、使用している場合はロケールが固定設定になっているかを確認し、必要であれば修正済みバージョンへの更新を検討することが求められます。

初心者が知っておくべきこと

「サービス運用妨害(DoS、Denial of Service)」とは、大量のデータやリクエストをサーバーに送りつけるなどして、サーバーの処理能力やメモリを使い果たさせ、本来のサービスを利用できない状態に追い込む攻撃・脆弱性の総称です。今回のケースのように、悪意ある攻撃者が意図的にリクエストを送ることで発生する場合もあれば、単純なアクセス集中で似たような状態になることもあります。

「フレームワーク」とは、Webアプリケーションやシステムを開発する際に土台として使われる、あらかじめ用意されたプログラムの部品集のようなものです。フレームワークを使うことで、開発者は同じような処理を毎回ゼロから書く手間を省けますが、その分、フレームワーク自体に脆弱性が見つかると、それを利用している多数のシステムが一斉に影響を受けることになります。

IT Postの見方

IT Postでは、今回のケースが浮き彫りにしているのは、脆弱性の深刻さそのものよりも「評価する立場によって深刻度の見え方が変わる」という構造の問題だと考えます。開発チームが「中程度」とする一方でJVNが「重要」寄りに評価しているという食い違いは、この脆弱性を放置してよいかどうかの判断を、事実上システム管理者に丸投げしている状態に近いとIT Postでは考えます。

あわせてIT Postでは、サポートが終了した古いバージョンに脆弱性が見つかっても修正が提供されないという構図が、Apache Struts 2に限らずオープンソースソフトウェア全般で繰り返されている点にも注意が必要だと考えます。無償で使えるオープンソースの恩恵を受け続けるのであれば、利用する側もバージョンの延命に頼らず、計画的に更新していく責任を負うべきだとIT Postでは考えます。※個人の感想です

この記事の内容にちなんだ挿絵
生成AIによるイメージ。実物や実際の画面ではありません。

今後どうなりそうか

Apache Struts 2は過去にも複数回、深刻な脆弱性が公表されてきた経緯があり、今回のようなDoS関連の脆弱性は今後も定期的に見つかる可能性があります。JVNやJPCERT/CCは、同種のオープンソースソフトウェアの脆弱性情報を継続的に公表しており、IT Postでは、今回の脆弱性が実際に悪用された事例が確認された場合や、関連する新たな脆弱性が公表された場合には、あらためて取り上げます。

情報源

この記事を共有する

用語辞典へ