Apache Tomcat、HTTP/2で利用者間の応答混在 修正版あり
Apache Tomcat の HTTP/2 処理で、非同期サーブレットを使っていると、別々の利用者の要求や応答が混ざるおそれがある脆弱性が公表されました。Tomcat 11.0.22 から 11.0.26、10.1.55 から 10.1.60、9.0.118 から 9.0.122 が対象で、11.0.27、10.1.61、9.0.123 で修正されています。該当する版を使い、HTTP/2 を有効にしている組織は、早めに修正版へ更新してください。
急ぎ度: 早めに
認証なしでネットワーク越しに悪用でき得る深刻度 9.1 の脆弱性で修正版も出ていますが、悪用が確認されたとの情報は公表されておらず、影響は HTTP/2 と非同期サーブレットを使う環境に限られるためです。
関係があるか
対象の版の Apache Tomcat で HTTP/2 を有効にし、アプリケーションが非同期サーブレットを使っている環境が当てはまります。社内向けか公開かを問わず、複数の利用者が同じ Tomcat を使うシステムが対象です。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| Apache Tomcat 11.0 系 | 11.0.22 から 11.0.26 | 11.0.27 |
| Apache Tomcat 10.1 系 | 10.1.55 から 10.1.60 | 10.1.61 |
| Apache Tomcat 9.0 系 | 9.0.118 から 9.0.122 | 9.0.123 |
確かめ方
- 1Tomcat の版を確認します。上記の範囲に入っているかを見ます。Spring Boot などに組み込まれた Tomcat を使っている場合は、アプリケーションが同梱している tomcat-embed-core の版を依存関係の一覧から確認してください。
- 2HTTP/2 を有効にしているかを確認します。Tomcat 単体の場合は
conf/server.xmlの Connector に HTTP/2 用の設定(UpgradeProtocol)があるかを見ます。組み込み型の場合は、フレームワーク側の HTTP/2 の設定が有効かを見ます。 - 3アプリケーションが非同期サーブレット(非同期処理を開始する実装)を使っているかを、開発担当者や委託先に確認します。
- 4Tomcat の前段にリバースプロキシやロードバランサーがある場合は、Tomcat 自身が HTTP/2 を受けているのか、前段までで終わっているのかを構成図で確認します。
何が起きたか
Apache Tomcat の HTTP/2 の処理に、内部で使い回すオブジェクトの扱いを誤る弱点が見つかりました。特定の条件がそろうと、ある利用者の要求や応答が、別の利用者のものと取り違えられる可能性があります。たとえば、食堂で使い終えた伝票を片付けきれないまま次の客に回してしまい、別の客に料理が出てしまうようなものです。
問題が起きるのは、HTTP/2 で届いた要求を、非同期サーブレットが処理する場面です。Tomcat は処理の負荷を減らすため、要求や応答に関わるオブジェクトを使い終わると「リサイクル」して再利用します。この再利用の扱いが正しくないために、まだ別の処理が使っているオブジェクトが再び割り当てられることがあります。弱点の種類は、処理の競合に分類される CWE-362 です。
共通脆弱性評価システム(CVSS v3.1)の基本値は 9.1 で、深刻度は Critical です。評価では、ネットワーク越しに、認証も利用者の操作もなしで悪用でき得るとされ、機密性と可用性への影響が高いとされています。実際の影響は、アプリケーションの作りや通信の状況によって変わります。
攻撃の流れ
-
1
HTTP/2 で接続
HTTP/2 を有効にした Tomcat に、ネットワーク越しに要求が届きます。
-
2
非同期で処理
アプリケーションの非同期サーブレットが、その要求を非同期に処理します。
-
3
再利用の不整合
使い回される内部オブジェクトの扱いに誤りがあり、まだ使用中のものが別の処理に割り当てられます。
-
4
要求・応答の混在
別々の利用者の要求や応答が取り違えられます。
-
5
漏えいや停止
他人の応答内容が見えてしまう情報漏えいや、サービスへの影響につながるおそれがあります。
どう悪用されるか
悪用に認証は必要とされておらず、ネットワーク越しに、利用者の操作もなく攻撃できる可能性があると評価されています。攻撃の難易度は低いとされています。ただし、対象の版であること、HTTP/2 が有効であること、非同期サーブレットが使われていることという前提があります。これらがそろわない環境は、この弱点の影響を受けにくいと考えられます。
悪用された場合は、ある利用者の応答が別の利用者に返るなど、見せてはならない情報が漏れるおそれがあります。ログイン後の画面や個人情報、セッションに関わる情報を扱うシステムでは、影響が大きくなり得ます。また、可用性への影響も高いと評価されており、サービスの不安定化や停止も懸念されます。
実際の攻撃で悪用されたかどうかについては、現時点で公表されていません。
今すぐやること
-
1
Tomcat の版を確認する
稼働中の Tomcat が 11.0.22 から 11.0.26、10.1.55 から 10.1.60、9.0.118 から 9.0.122 のどれかに当たるかを確認します。複数台ある場合は、台帳や構成管理の情報とあわせて洗い出してください。
$CATALINA_HOME/bin/version.sh -
2
HTTP/2 の有効化を確認する
server.xmlに HTTP/2 用の設定があるか確認します。組み込み型の Tomcat では、フレームワーク側の設定を確認します。grep -n "Http2Protocol" $CATALINA_HOME/conf/server.xml -
3
修正版へ更新する
11.0 系は 11.0.27、10.1 系は 10.1.61、9.0 系は 9.0.123 へ更新します。組み込み型の場合は、Tomcat を同梱するフレームワークやアプリケーションの更新版を確認して適用します。本番に入れる前に、検証環境で HTTP/2 を含む動作を確かめてください。
-
4
非同期サーブレットの利用を把握する
自社開発や委託先のアプリケーションが非同期処理を使っているかを確認し、影響が大きいシステムから更新の順番を決めます。
-
5
更新後に版と設定を再確認する
更新後に版が修正版になっていることを確認します。あわせて、設定ファイルが意図せず戻っていないかも見ておきます。
$CATALINA_HOME/bin/version.sh
すぐ更新できないとき
ベンダーからの公式な回避策は、今回の告知では示されていません。更新までの間は、Tomcat 自身で HTTP/2 を受けない構成にすることで、該当する経路を避けられる可能性があります。ただし、これは一般的な考え方であり、効果や副作用は公式に確認されたものではありません。変更する場合は、Apache Tomcat の告知を確認したうえで、動作への影響を検証してください。基本の対応は修正版への更新です。
背景
Apache Tomcat は、Java のサーブレットや JSP で作られた Web アプリケーションを動かすための、広く使われているサーバーソフトです。業務システムや社内ポータル、API の基盤として単体で動かされるほか、アプリケーションフレームワークに組み込まれて、利用者が気づかないまま使われていることもあります。そのため、自社で Tomcat を入れた覚えがなくても、システムの中で動いている場合があります。
処理の速度を上げるためにオブジェクトを使い回す設計は、多くのサーバーソフトで使われています。その反面、同時に複数の処理が走る場面で、使い回しの管理を誤ると、別の利用者のデータが混ざる問題につながります。このような処理の競合に由来する弱点は、これまでも Web サーバー類で繰り返し問題になってきました。
よくある質問
Q.HTTP/2 を使っていなければ影響はありませんか。
Q.リバースプロキシの後ろに Tomcat を置いています。対象になりますか。
Q.すでに攻撃を受けているのでしょうか。
まだ分かっていないこと
- 実際の攻撃で悪用されているかどうか、悪用される見込みがどの程度かは公表されていません。
- 上記以外の版や、すでにサポートが終了した版が影響を受けるかどうかは、告知からは分かりません。Apache Tomcat の告知で確認してください。
- どの程度の頻度や条件で要求・応答の混在が起きるのか、具体的な条件は公表されていません。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| Apache Software Foundation | Apache Tomcat |
11.0.22 〜 11.0.26 10.1.55 〜 10.1.60 9.0.118 〜 9.0.122 |
— — — |
ディストリビューション別の修正状況
各ディストリビューションが公開している、この CVE の修正パッケージ
- Debian DEBIAN-CVE-2026-101356 tomcat11
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Incorrect object recycling and re-use vulnerability in Apache Tomcat affecting HTTP/2 processing of asynchronous servlets can trigger request and/or response mix-up between users.
This issue affects Apache Tomcat: from 11.0.22 through 11.0.26, from 10.1.55 through 10.1.60, from 9.0.118 through 9.0.122.
Users are recommended to upgrade to version 11.0.27, 10.1.61 or 9.0.123, which fixes the issue.
出典: NIST National Vulnerability Database NVD GitHub Advisory
参照URL
- REDHAT Red Hat
- web lists.apache.org
- web nvd.nist.gov
- web github.com
- web openwall.com