【ITニュース解説】Apache TomcatのRewrite Valve機能におけるセッション固定の脆弱性(CVE-2025-55668)

作成日: 更新日:

ITニュース概要

WebサーバーソフトApache TomcatのURL書き換え機能に、セッションを乗っ取られる脆弱性が発見された。第三者が他人のアカウントになりすます「セッション固定」攻撃を受ける可能性があるため、利用者は公開された修正版への更新が必要だ。

ITニュース解説

多くのウェブサイトや業務システムで利用されている、Javaで開発されたWebアプリケーションを動かすためのサーバーソフトウェア「Apache Tomcat」に、新たな脆弱性が発見された。この脆弱性は「セッション固定」と呼ばれるタイプの攻撃につながる可能性があり、システムの利用者が意図せず第三者になりすまされる危険性をはらんでいる。ここでは、この脆弱性(CVE-2025-55668)がどのようなもので、なぜ危険なのか、そしてどのように対処すべきかを、システム開発の基礎を学ぶエンジニア向けに解説する。 まず、脆弱性を理解するために「セッション管理」というウェブ技術の基本を理解する必要がある。ウェブサイトの通信で使われるHTTPというプロトコルは、一度通信が終わるとサーバーがクライアント、つまり利用者のブラウザのことを忘れてしまう「ステートレス」な性質を持つ。しかし、ショッピングサイトで商品をカートに入れたり、SNSにログインした状態を維持したりするためには、サーバーが「今アクセスしているのは誰か」を継続して識別できなければならない。この仕組みがセッション管理である。サーバーは利用者が最初にアクセスした際、「セッションID」という一意の識別子を発行し、利用者のブラウザに保存させる。利用者はその後の通信で毎回セッションIDをサーバーに送ることで、サーバーは「先ほどの利用者だ」と認識し、ログイン状態やカートの中身を維持できる。このセッションIDは、いわばWebサイトにおける一時的な会員証番号のようなものである。 「セッション固定攻撃」とは、このセッションIDを悪用する攻撃手法だ。攻撃者はまず、正規の手段で対象のWebサイトからセッションIDを取得する。次に、そのセッションIDを含んだURLを作成し、何らかの方法で被害者にそのURLをクリックさせる。例えば、フィッシングメールにリンクを記載するなどの手口が考えられる。被害者がそのURLをクリックすると、攻撃者が用意したセッションIDを使ってWebサイトにアクセスすることになる。その後、被害者が自身のIDとパスワードでログイン処理を完了すると、多くのシステムでは、そのログイン状態が攻撃者のセッションIDに紐づいてしまう。これにより、攻撃者は自分が用意したセッションIDを使い続けることで、被害者のアカウントに不正にアクセスし、なりすましが可能となる。 今回の脆弱性は、Apache Tomcatが持つ「Rewrite Valve」という特定の機能が有効になっている場合に発生する。Rewrite Valveは、サーバーに届いたリクエストのURLを、設定されたルールに基づいて書き換えるための機能である。例えば、暗号化されていない「http://」でのアクセスを、自動的に暗号化された「https://」に転送したり、ユーザーにとって分かりやすいURLを、システムが内部で処理しやすいURLに変換したりするために利用される。これはWebサーバーの運用において非常に便利な機能だ。 通常、セッション固定攻撃を防ぐため、Apache Tomcatには利用者がログインに成功した際に、古いセッションIDを無効化し、全く新しいセッションIDを再発行する仕組みが備わっている。これにより、たとえログイン前に攻撃者のセッションIDを使わされていたとしても、ログイン後には新しいIDに切り替わるため、攻撃者はなりすましができなくなる。しかし、今回の脆弱性では、Rewrite Valve機能がこの安全対策の妨げとなる。具体的には、URLの中にセッションIDが埋め込まれている形式でアクセスがあった場合、Rewrite ValveによるURL書き換え処理が、セッションIDを新しくする処理よりも先に実行されてしまう。その結果、書き換え後のURLにも攻撃者が仕込んだ古いセッションIDが引き継がれ、セッションIDの更新が行われないままログイン処理が完了してしまうことがある。この一連の流れにより、本来機能するはずだったセッション固定攻撃への対策が無効化され、攻撃者のなりすましを許してしまう危険性が生まれる。 この脆弱性を悪用されると、攻撃者は被害者のアカウントに不正にログインし、個人情報を閲覧・改ざんしたり、被害者になりすまして不正な投稿や商品の購入を行ったりする可能性がある。影響の大きさは、そのWebアプリケーションがどのような情報を取り扱い、どのような機能を提供しているかに依存するが、深刻な被害につながる可能性は否定できない。この脆弱性への最も確実で基本的な対策は、Apache Tomcatを開発元であるThe Apache Software Foundationが提供する、修正済みのバージョンにアップデートすることである。対象となるバージョンを利用しているシステムの管理者は、速やかにバージョンアップを検討し、実施することが強く推奨される。ソフトウェアのアップデートは、今回のような新たに発見された脆弱性からシステムを保護するための最も重要な作業の一つである。日頃から利用しているソフトウェアのバージョン情報を把握し、セキュリティに関する情報を定期的に確認する習慣は、システムエンジニアにとって不可欠なスキルと言える。今回の発表は、特定の機能が意図せずセキュリティ上の弱点となり得ることを示す事例であり、システムの安全性を維持するためには、ソフトウェアを最新の状態に保つことの重要性を改めて認識させるものである。

【ITニュース解説】Apache TomcatのRewrite Valve機能におけるセッション固定の脆弱性(CVE-2025-55668)