コンテンツ
Apache Tomcat 10.x の脆弱性
このページには、リリースされた Apache Tomcat® 10.x のバージョンで修正されたすべてのセキュリティ脆弱性が記載されています。各脆弱性には、Apache Tomcat セキュリティチームによってセキュリティ影響度評価が付けられています。この評価はプラットフォームによって異なる場合があることに注意してください。また、この欠陥が影響を与えることが判明している Apache Tomcat のバージョンもリストされており、欠陥が検証されていない場合は疑問符付きでバージョンがリストされています。
注意: Tomcat の脆弱性ではないが、Tomcat に対して誤って報告されたもの、または Tomcat が回避策を提供している脆弱性は、このページの最後に記載されています。
Tomcat 10.0.x はサポート終了となり、サポート対象外です。2022年10月31日以降に報告された脆弱性は10.0.xブランチではチェックされておらず、修正されません。セキュリティ修正を入手するには、ユーザーは10.1.x以降にアップグレードする必要があります。
バイナリパッチは提供されないことに注意してください。ソースコードパッチを適用する必要がある場合は、使用している Apache Tomcat バージョンのビルド手順を使用してください。Tomcat 10.0.x の場合は、building.html
と BUILDING.txt
です。これらのファイルは両方とも、バイナリディストリビューションの webapps/docs
サブディレクトリにあります。また、ドキュメントのセキュリティに関する考慮事項のページも確認することをお勧めします。
Tomcat のビルドまたは設定に関するヘルプ、あるいはここに記載されている既知の脆弱性を軽減するための指示に従うその他のヘルプが必要な場合は、公開のTomcat ユーザーメーリングリストに質問を送信してください。
未記載のセキュリティ脆弱性やセキュリティ上の影響があるその他の予期しない動作に遭遇した場合、またはここでの説明が不完全な場合は、Tomcat セキュリティチームに非公開で報告してください。ご協力ありがとうございます。
目次
2025-06-09 Apache Tomcat 10.1.42 で修正済み
中: PreResources および PostResources のセキュリティ制約バイパス CVE-2025-49125
PreResources または PostResources をウェブアプリケーションのルート以外の場所にマウントして使用している場合、予期しないパスを介してこれらのリソースにアクセスすることが可能でした。そのパスは、期待されるパスと同じセキュリティ制約によって保護されていない可能性が高く、これらのセキュリティ制約をバイパスすることができました。
これはコミット 7617b9c2 で修正されました。
この問題は2025年6月16日に公開されました。
影響: 10.1.0-M1 から 10.1.41
低: Windows 用 Tomcat インストーラーを介したサイドローディング CVE-2025-49124
インストール中、Windows 用 Tomcat インストーラーは icacls.exe をフルパスを指定せずに使用していました。これにより、サイドローディングの脆弱性が有効になりました。
これはコミット e0e07812 で修正されました。
この問題は2025年6月16日に公開されました。
影響: 10.1.0 から 10.1.41
重要: マルチパートアップロードにおける DoS CVE-2025-48988
Tomcat は、マルチパートリクエストにおけるリクエストパラメータとパーツの両方に同じ制限を使用していました。アップロードされたパーツには保持する必要があるヘッダーも含まれるため、マルチパートリクエストの処理には、著しく多くのメモリが使用される可能性があります。多数のパーツを使用した巧妙に細工されたリクエストは、過剰なメモリ使用量を引き起こし、DoSにつながる可能性があります。パーツの最大数 (Connector の maxPartCount) は現在設定可能で、デフォルトは10パーツです。
これはコミット cdde8e65 で修正されました。
この問題は2025年6月16日に公開されました。
影響: 10.1.0-M1 から 10.1.41
重要: Commons FileUpload における DoS CVE-2025-48976
Apache Commons FileUpload は、マルチパートリクエストに関連するヘッダーのサイズに対して、10KB のハードコードされた制限を提供していました。多数のパーツと大きなヘッダーを使用した巧妙に細工されたリクエストは、過剰なメモリ使用量を引き起こし、DoS につながる可能性があります。この制限 (Connector の maxPartHeaderSize) は現在設定可能で、デフォルトは512バイトです。
これはコミット 667ddd76 で修正されました。
この問題は2025年6月16日に公開されました。
影響: 10.1.0-M1 から 10.1.41
2025-05-12 Apache Tomcat 10.1.41 で修正済み
低: CGI セキュリティ制約バイパス CVE-2025-46701
CGI サーブレットにマップされた URL の pathInfo
コンポーネントにセキュリティ制約が構成された、大文字と小文字を区別しないファイルシステムで実行している場合、巧妙に細工された URL を使用してこれらのセキュリティ制約をバイパスすることが可能でした。
これはコミット 2c680011 および 238d2aa5 で修正されました。
この問題は2025年5月29日に公開されました。
影響: 10.1.0-M1 から 10.1.40
2025-04-08 Apache Tomcat 10.1.40 で修正済み
低: リライトルールバイパス CVE-2025-31651
可能性の低いリライトルールの構成の一部において、巧妙に細工されたリクエストによって一部のリライトルールをバイパスすることが可能でした。これらのリライトルールが事実上セキュリティ制約を強制していた場合、それらの制約はバイパスされる可能性がありました。
これはコミット 066bf6b6 で修正されました。
この問題は2025年4月28日に公開されました。
影響: 10.1.0-M1 から 10.1.39
重要: 無効な HTTP プライオリティヘッダーを介したサービス拒否 CVE-2025-31650
一部の無効な HTTP プライオリティヘッダーに対する誤ったエラー処理により、失敗したリクエストのクリーンアップが不完全になり、メモリリークが発生しました。このような多数のリクエストは OutOfMemoryException を引き起こし、サービス拒否につながる可能性がありました。
これはコミット cba1a0fe、1eef1dc4 および 8cc3b8fb で修正されました。
この問題は2025年4月28日に公開されました。
影響: 10.1.10 から 10.1.39
2025-02-10 Apache Tomcat 10.1.35 で修正済み
重要: 書き込みが有効なデフォルトサーブレットを介したリモートコード実行、および/または情報漏洩、および/またはアップロードされたファイルへの悪意のあるコンテンツ追加 - CVE-2025-24813
部分 PUT の元の実装は、ユーザーが指定したファイル名とパスに基づき、パス区切り文字が「.」に置き換えられた一時ファイルを使用していました。
以下のすべてが当てはまる場合、悪意のあるユーザーはセキュリティ上機密性の高いファイルを表示したり、それらのファイルにコンテンツを注入したりすることができました
- デフォルトサーブレットの書き込みが有効になっている(デフォルトでは無効)
- 部分 PUT のサポート(デフォルトでは有効)
- 公開アップロードのターゲット URL のサブディレクトリである、セキュリティ上機密性の高いアップロードのターゲット URL
- アップロードされるセキュリティ上機密性の高いファイルの名前を攻撃者が知っていること
- セキュリティ上機密性の高いファイルも部分 PUT を介してアップロードされていること
以下のすべてが当てはまる場合、悪意のあるユーザーはリモートコード実行を実行することができました
- デフォルトサーブレットの書き込みが有効になっている(デフォルトでは無効)
- 部分 PUT のサポート(デフォルトでは有効)
- アプリケーションが Tomcat のファイルベースセッション永続化をデフォルトの保存場所で使用していた
- アプリケーションに、逆シリアル化攻撃に利用される可能性のあるライブラリが含まれていた
これはコミット f6c01d65 で修正されました。
この問題は2025年3月10日に公開されました。
影響: 10.1.0-M1 から 10.1.34
2024-12-09 Apache Tomcat 10.1.34 で修正済み
重要: 書き込みが有効なデフォルトサーブレットを介したリモートコード実行。CVE-2024-50379 の緩和策は不完全でした - CVE-2024-56337
以前のCVE-2024-50379に対する緩和策は不完全でした。10.1.34 以降にアップグレードするだけでなく、デフォルトサーブレットの書き込みが有効になっている大文字と小文字を区別しないファイルシステムで Tomcat を実行しているユーザーは、使用している Java のバージョンに応じて追加の設定が必要になる場合があります。
- Java 11 で実行する場合: システムプロパティ
sun.io.useCanonCaches
を明示的に false
に設定する必要があります(デフォルトは true
です)
- Java 17 で実行する場合: システムプロパティ
sun.io.useCanonCaches
が設定されている場合、false
に設定する必要があります(デフォルトは false
です)
- Java 21 以降で実行する場合: それ以上の設定は不要です(システムプロパティと問題のあるキャッシュは削除されています)
この問題は2024年12月20日に公開されました。
影響: 10.1.0-M1 から 10.1.33
低: サンプルウェブアプリケーションにおける DoS CVE-2024-54677
サンプルウェブアプリケーションの多数の例で、アップロードされたデータに制限が設けられていなかったため、OutOfMemoryError がトリガーされ、サービス拒否を引き起こす可能性がありました。
これはコミット f57a9d98、aa5b4d00、e8c16cdb、dbec9278、d63a10af、54e56495 および bbd82e95 で修正されました。
この問題は2024年12月17日に公開されました。
影響: 10.1.0-M1 から 10.1.33
重要: 書き込みが有効なデフォルトサーブレットを介したリモートコード実行 CVE-2024-50379
大文字と小文字を区別しないファイルシステムに対してデフォルトサーブレットが書き込み可能(readonly
初期化パラメータが非デフォルト値の false
に設定されている)な場合、同じファイルの同時読み込みとアップロードが Tomcat の大文字小文字区別チェックをバイパスし、アップロードされたファイルが JSP として扱われ、リモートコード実行につながる可能性がありました。
これはコミット 8554f6b1 および 05ddeeaa で修正されました。
この問題は2024年12月17日に公開されました。
影響: 10.1.0-M1 から 10.1.33
2024-11-11 Apache Tomcat 10.1.33 で修正済み
注意: 下記の問題は Apache Tomcat 10.1.32 で修正されましたが、10.1.32 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには、ユーザーは 10.1.33 をダウンロードする必要がありますが、バージョン 10.1.32 は影響を受けるバージョンのリストに含まれていません。
重要: 生成された JSP における XSS CVE-2024-52318
改善 69333 の修正により、プールされた JSP タグが使用後に解放されず、その結果、一部のタグの出力が期待通りにエスケープされない可能性がありました。このエスケープされていない出力は XSS につながる可能性がありました。
これはコミット be8e3214 で修正されました。
この問題は2024年11月18日に公開されました。
影響: 10.1.31
2024-10-09 Apache Tomcat 10.1.31 で修正済み
重要: リクエストおよび/またはレスポンスの混同 CVE-2024-52317
HTTP/2 リクエストで使用されるリクエストおよびレスポンスの不適切なリサイクルにより、ユーザー間でリクエストおよび/またはレスポンスの混同が発生する可能性がありました。
これはコミット 146f94f8 で修正されました。
この問題は2024年10月1日に Tomcat セキュリティチームによって特定されました。この問題は2024年11月18日に公開されました。
影響: 10.1.27 から 10.1.30
低: 認証バイパス CVE-2024-52316
Tomcat がカスタムの Jakarta Authentication (旧 JASPIC) ServerAuthContext コンポーネントを使用するように設定されており、そのコンポーネントが認証プロセス中に失敗を示す HTTP ステータスを明示的に設定せずに例外をスローする場合、認証が失敗しなかった可能性があり、ユーザーが認証プロセスをバイパスできる可能性がありました。このような動作をする既知の Jakarta Authentication コンポーネントはありません。
これはコミット acc2f013 で修正されました。
この問題は2024年9月19日に Tomcat セキュリティチームによって特定されました。この問題は2024年11月18日に公開されました。
影響: 10.1.0-M1 から 10.1.30
2024-06-19 Apache Tomcat 10.1.25 で修正済み
重要: サービス拒否 CVE-2024-34750
HTTP/2 ストリームの処理時、Tomcat は過剰な HTTP ヘッダーの一部を正しく処理しませんでした。これにより、アクティブな HTTP/2 ストリームのカウントが誤り、その結果、誤った無限タイムアウトが使用され、閉じられるべき接続が開き続けたままになる可能性がありました。
これはコミット 2afae300 で修正されました。
この問題は2024年5月4日に Tomcat セキュリティチームに報告されました。この問題は2024年7月3日に公開されました。
影響: 10.1.0-M1 から 10.1.24
重要: サービス拒否 CVE-2024-38286
Tomcat は、どのプラットフォーム上の特定の構成においても、攻撃者が TLS ハンドシェイクプロセスを悪用して OutOfMemoryError を引き起こすことを可能にします。
これはコミット 3344c17c で修正されました。
この問題は2024年6月4日に Tomcat セキュリティチームに報告されました。この問題は2024年9月23日に公開されました。
影響: 10.1.0-M1 から 10.1.24
2024-02-19 Apache Tomcat 10.1.19 で修正済み
重要: サービス拒否 CVE-2024-23672
WebSocket クライアントが WebSocket 接続を開いたままにすることが可能で、リソース消費の増加につながりました。
これはコミット 0052b374 で修正されました。
この問題は2024年1月17日に Tomcat セキュリティチームによって特定されました。この問題は2024年3月13日に公開されました。
影響: 10.1.0-M1 から 10.1.18
重要: サービス拒否 CVE-2024-24549
HTTP/2 リクエストの処理時、リクエストがヘッダーに設定された制限のいずれかを超過した場合、関連する HTTP/2 ストリームはすべてのヘッダーが処理されるまでリセットされませんでした。
これはコミット d07c8219 で修正されました。
この問題は2024年1月24日に Tomcat セキュリティチームに報告されました。この問題は2024年3月13日に公開されました。
影響: 10.1.0-M1 から 10.1.18
2023-11-14 Apache Tomcat 10.1.16 で修正済み
重要: リクエストスマグリング CVE-2023-46589
Tomcat は HTTP トレーラーヘッダーを正しく解析しませんでした。ヘッダーサイズ制限を超過する巧妙に細工されたトレーラーヘッダーは、Tomcat が単一のリクエストを複数のリクエストとして扱う原因となり、リバースプロキシの背後にある場合にリクエストスマグリングの可能性につながりました。
これはコミット b5776d76 で修正されました。
この問題は2023年10月20日に Tomcat セキュリティチームに報告されました。この問題は2023年11月28日に公開されました。
影響: 10.1.0-M1 から 10.1.15
2023-10-10 Apache Tomcat 10.1.14 で修正済み
重要: リクエストスマグリング CVE-2023-45648
Tomcat は HTTP トレーラーヘッダーを正しく解析しませんでした。巧妙に細工された無効なトレーラーヘッダーは、Tomcat が単一のリクエストを複数のリクエストとして扱う原因となり、リバースプロキシの背後にある場合にリクエストスマグリングの可能性につながりました。
これはコミット 8ecff306 で修正されました。
この問題は2023年9月12日に Tomcat セキュリティチームに報告されました。この問題は2023年10月10日に公開されました。
影響: 10.1.0-M1 から 10.1.13
重要: サービス拒否 CVE-2023-44487
Tomcat の HTTP/2 実装は、高速リセット攻撃に対して脆弱でした。サービス拒否は通常、OutOfMemoryError
として現れました。
これはコミット 76bb4bfb で修正されました。
この問題は2023年9月14日に Tomcat セキュリティチームに報告されました。この問題は2023年10月10日に公開されました。
影響: 10.1.0-M1 から 10.1.13
重要: 情報漏洩 CVE-2023-42795
リクエストやレスポンスを含む様々な内部オブジェクトを、次のリクエスト/レスポンスによる再利用の前にリサイクルする際、エラーが発生すると Tomcat がリサイクルプロセスの一部をスキップし、現在のリクエスト/レスポンスから次のリクエスト/レスポンスへ情報が漏洩する可能性がありました。
これはコミット 9375d671 で修正されました。
この問題は2023年9月13日に Tomcat セキュリティチームによって特定されました。この問題は2023年10月10日に公開されました。
影響: 10.1.0-M1 から 10.1.13
2023-08-25 Apache Tomcat 10.1.13 で修正済み
中: オープンリダイレクト CVE-2023-41080
ROOT (デフォルト) ウェブアプリケーションが FORM 認証を使用するように構成されている場合、巧妙に細工された URL を使用して、攻撃者が選択した URL へのリダイレクトをトリガーすることが可能でした。
これはコミット bb4624a9 で修正されました。
この問題は2023年8月17日に Tomcat セキュリティチームに報告されました。この問題は2023年8月22日に公開されました。
影響: 10.1.0-M1 から 10.1.12
2023-05-19 Apache Tomcat 10.1.9 で修正済み
重要: 情報漏洩 CVE-2023-34981
バグ 66512 の修正により、バグ 66591 として修正されたリグレッションが導入されました。このリグレッションは、レスポンスに HTTP ヘッダーが何も設定されていない場合、AJP SEND_HEADERS
メッセージが送信されず、その結果、少なくとも1つの AJP ベースのプロキシ (mod_proxy_ajp) が現在のリクエストに対して前のリクエストのレスポンスヘッダーを使用し、情報漏洩につながる可能性がありました。
これはコミット f0742f47 で修正されました。
この問題は2023年5月24日に Tomcat セキュリティチームに報告されました。この問題は2023年6月21日に公開されました。
影響: 10.1.8
2023-04-19 Apache Tomcat 10.1.8 で修正済み
中: Apache Tomcat サービス拒否 CVE-2023-28709
CVE-2023-24998 の修正は不完全でした。非デフォルトの HTTP コネクタ設定が使用され、クエリ文字列パラメータを使用して maxParameterCount
に到達できるような場合、クエリ文字列に正確に maxParameterCount
のパラメータを提供するリクエストが送信されると、アップロードされたリクエストパーツの制限がバイパスされ、サービス拒否が発生する可能性がありました。
これはコミット ba848da7 で修正されました。
この問題は2023年3月13日に Tomcat セキュリティチームに報告されました。この問題は2023年5月22日に公開されました。
影響: 10.1.5 から 10.1.7
2023-02-24 Apache Tomcat 10.1.6 で修正済み
重要: Apache Tomcat 情報漏洩 CVE-2023-28708
RemoteIpFilter
を使用し、リバースプロキシ経由で HTTP で受信したリクエストに X-Forwarded-Proto
ヘッダーが https
に設定されている場合、Tomcat によって作成されたセッションクッキーには secure 属性が含まれていませんでした。これにより、ユーザーエージェントが安全でないチャネルを介してセッションクッキーを送信する可能性がありました。
これはコミット f509bbf3 で修正されました。
66471 は2023年2月8日に公開報告されました。セキュリティ上の影響は2023年2月9日に Tomcat セキュリティチームによって特定されました。この問題は2023年3月22日に公開されました。
影響: 10.1.0-M1 から 10.1.5
2023-01-13 Apache Tomcat 10.1.5 で修正済み
重要: Apache Tomcat サービス拒否 CVE-2023-24998
Apache Tomcat は、Jakarta Servlet 仕様で定義されているファイルアップロード機能を提供するために、Apache Commons FileUpload の名前変更されたコピーを使用しています。したがって、処理されるリクエストパーツの数に制限がなかったため、Apache Tomcat も Apache Commons FileUpload の脆弱性 CVE-2023-24998 に対して脆弱でした。これにより、攻撃者が悪意のあるアップロードまたは一連のアップロードによって DoS を引き起こす可能性が生じました。
これはコミット 8a2285f1 で修正されました。
この問題は2022年12月11日に Apache Tomcat セキュリティチームに報告されました。この問題は2023年2月20日に公開されました。
影響: 10.1.0-M1 から 10.1.4
2022-11-14 Apache Tomcat 10.1.2 で修正済み
低: Apache Tomcat JsonErrorReportValve インジェクション CVE-2022-45143
JsonErrorReportValve
は type
、message
、description
の値をエスケープしていませんでした。状況によっては、これらはユーザーが提供したデータから構築されるため、ユーザーが JSON 出力を無効化または操作する値を供給することが可能でした。
これはコミット 6a0ac6a4 で修正されました。
この問題は2022年9月2日に Apache Tomcat セキュリティチームによって特定されました。この問題は2023年1月3日に公開されました。
影響: 10.1.0-M1 から 10.1.1
2022-10-11 Apache Tomcat 10.1.1 で修正済み
低: Apache Tomcat リクエストスマグリング CVE-2022-42252
Tomcat が rejectIllegalHeader
を false
(デフォルトではない)に設定して無効な HTTP ヘッダーを無視するように構成されていた場合、Tomcat は無効な Content-Length
ヘッダーを含むリクエストを拒否しませんでした。これにより、Tomcat が無効なヘッダーを持つリクエストを拒否しなかったリバースプロキシの背後に配置されていた場合、リクエストスマグリング攻撃が可能になりました。
これはコミット c9fe754e で修正されました。
この問題は2022年9月29日に Apache Tomcat セキュリティチームに報告されました。この問題は2022年10月31日に公開されました。
影響: 10.1.0-M1 から 10.1.0
2022-10-10 Apache Tomcat 10.0.27 で修正済み
低: Apache Tomcat リクエストスマグリング CVE-2022-42252
Tomcat が rejectIllegalHeader
を false
(デフォルトではない)に設定して無効な HTTP ヘッダーを無視するように構成されていた場合、Tomcat は無効な Content-Length
ヘッダーを含むリクエストを拒否しませんでした。これにより、Tomcat が無効なヘッダーを持つリクエストを拒否しなかったリバースプロキシの背後に配置されていた場合、リクエストスマグリング攻撃が可能になりました。
これはコミット 0d089a15 で修正されました。
この問題は2022年9月29日に Apache Tomcat セキュリティチームに報告されました。この問題は2022年10月31日に公開されました。
影響: 10.0.0-M1 から 10.0.26
2022-07-26 Apache Tomcat 10.0.23 で修正済み
低: サンプルウェブアプリケーションにおける Apache Tomcat XSS CVE-2022-34305
サンプルウェブアプリケーションのフォーム認証の例で、ユーザーが提供したデータがフィルタリングなしで表示され、XSS 脆弱性が露呈しました。
これはコミット 1a7e95d9 で修正されました。
この問題は2022年6月22日に Apache Tomcat セキュリティチームに報告されました。この問題は2022年6月23日に公開されました。
影響: 10.0.0-M1 から 10.0.22
2022-07-20 Apache Tomcat 10.1.0-M17 で修正済み
低: サンプルウェブアプリケーションにおける Apache Tomcat XSS CVE-2022-34305
サンプルウェブアプリケーションのフォーム認証の例で、ユーザーが提供したデータがフィルタリングなしで表示され、XSS 脆弱性が露呈しました。
これはコミット d6251d1c で修正されました。
この問題は2022年6月22日に Apache Tomcat セキュリティチームに報告されました。この問題は2022年6月23日に公開されました。
影響: 10.1.0-M1 から 10.1.0-M16
2022-05-06 Apache Tomcat 10.0.21 で修正済み
低: Apache Tomcat EncryptInterceptor DoS CVE-2022-29885
EncryptInterceptor のドキュメントには、Tomcat クラスタリングを信頼できないネットワーク上で実行できると誤って記載されていました。これは正しくありません。EncryptInterceptor は機密性と整合性の保護を提供しますが、信頼できないネットワーク上での実行に伴うすべてのリスク、特に DoS リスクから保護するものではありません。
これはコミット 36826ea6 で修正されました。
この問題は2022年4月17日に 4ra1n によって Apache Tomcat セキュリティチームに報告されました。この問題は2022年5月10日に公開されました。
影響: 10.0.0-M1 から 10.0.20
2022年5月16日 Apache Tomcat 10.1.0-M15 で修正済み
低: Apache Tomcat EncryptInterceptor DoS CVE-2022-29885
EncryptInterceptor のドキュメントには、Tomcat クラスタリングを信頼できないネットワーク上で実行できると誤って記載されていました。これは正しくありません。EncryptInterceptor は機密性と整合性の保護を提供しますが、信頼できないネットワーク上での実行に伴うすべてのリスク、特に DoS リスクから保護するものではありません。
これはコミット 0fa7721f で修正されました。
この問題は2022年4月17日に 4ra1n によって Apache Tomcat セキュリティチームに報告されました。この問題は2022年5月10日に公開されました。
影響: 10.1.0-M1 から 10.1.0-M14
2022年4月1日 Apache Tomcat 10.0.20 で修正済み
注意: 下記の問題は Apache Tomcat 10.0.19 で修正されましたが、10.0.19 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには、ユーザーは 10.0.20 をダウンロードする必要がありますが、バージョン 10.0.19 は影響を受けるバージョンのリストに含まれていません。
高: 情報漏洩 CVE-2021-43980
Tomcat 10 で導入され、Tomcat 9.0.47 以降にバックポートされたブロッキング読み書きの簡易実装は、長年にわたる(ただし、非常にトリガーが困難な)同時実行バグを露呈させました。これにより、クライアント接続が Http11Processor インスタンスを共有し、レスポンスまたは部分的なレスポンスが誤ったクライアントによって受信される可能性がありました。
これはコミット 17f177ee で修正されました。
この問題は2021年11月11日に Adam Thomas、Richard Hernandez、Ryan Schmitt によって Apache Tomcat セキュリティチームに報告されました。この問題は2022年9月28日に公開されました。
影響: 10.0.0-M1 から 10.0.18
2022年4月1日 Apache Tomcat 10.1.0-M14 で修正済み
注意: 下記の問題は Apache Tomcat 10.1.0-M13 で修正されましたが、10.1.0-M13 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには、ユーザーは 10.1.0-M14 をダウンロードする必要がありますが、バージョン 10.1.0-M13 は影響を受けるバージョンのリストに含まれていません。
高: 情報漏洩 CVE-2021-43980
Tomcat 10 で導入され、Tomcat 9.0.47 以降にバックポートされたブロッキング読み書きの簡易実装は、長年にわたる(ただし、非常にトリガーが困難な)同時実行バグを露呈させました。これにより、クライアント接続が Http11Processor インスタンスを共有し、レスポンスまたは部分的なレスポンスが誤ったクライアントによって受信される可能性がありました。
これはコミット 9651b83a で修正されました。
この問題は2021年11月11日に Adam Thomas、Richard Hernandez、Ryan Schmitt によって Apache Tomcat セキュリティチームに報告されました。この問題は2022年9月28日に公開されました。
影響: 10.1.0-M1 から 10.1.0-M12
2022年1月20日 Apache Tomcat 10.0.16 で修正済み
注意: 下記の問題は Apache Tomcat 10.0.15 で修正されましたが、10.0.15 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには、ユーザーは 10.0.16 をダウンロードする必要がありますが、バージョン 10.0.15 は影響を受けるバージョンのリストに含まれていません。
低: ローカル権限昇格 CVE-2022-23181
バグ CVE-2020-9484 の修正により、Tomcat プロセスが使用しているユーザーの権限でローカルの攻撃者がアクションを実行できる、検査時点から使用時点までの脆弱性が導入されました。この問題は、Tomcat が FileStore を使用してセッションを永続化するように設定されている場合にのみ悪用可能です。
これはコミット 094800b1 で修正されました。
この問題は2021年12月10日に Viettel Cyber Security の Trung Pham 氏によって Apache Tomcat セキュリティチームに報告されました。この問題は2022年1月26日に公開されました。
影響: 10.0.0-M5 から 10.0.14
2022年1月20日 Apache Tomcat 10.1.0-M10 で修正済み
注意: 下記の問題は Apache Tomcat 10.1.0-M9 で修正されましたが、10.1.0-M9 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには、ユーザーは 10.1.0-M10 をダウンロードする必要がありますが、バージョン 10.1.0-M9 は影響を受けるバージョンのリストに含まれていません。
低: ローカル権限昇格 CVE-2022-23181
バグ CVE-2020-9484 の修正により、Tomcat プロセスが使用しているユーザーの権限でローカルの攻撃者がアクションを実行できる、検査時点から使用時点までの脆弱性が導入されました。この問題は、Tomcat が FileStore を使用してセッションを永続化するように設定されている場合にのみ悪用可能です。
これはコミット 70da1aaa で修正されました。
この問題は2021年12月10日に Viettel Cyber Security の Trung Pham 氏によって Apache Tomcat セキュリティチームに報告されました。この問題は2022年1月26日に公開されました。
影響: 10.1.0-M1 から 10.1.0-M8
2021年10月1日 Apache Tomcat 10.0.12 で修正済み
重要: サービス拒否 CVE-2021-42340
バグ 63362 の修正により、メモリリークが導入されました。HTTP アップグレード接続のメトリクスを収集するために導入されたオブジェクトは、WebSocket 接続が閉じられた後も解放されませんでした。これにより、時間が経つにつれて OutOfMemoryError によるサービス拒否につながる可能性のあるメモリリークが発生しました。
これはコミット 31d62426 で修正されました。
メモリリークは2021年9月23日にユーザーメーリングリストを通じて公開報告されました。セキュリティ上の影響は同日に Tomcat セキュリティチームによって特定されました。この問題は2021年10月14日に公開されました。
影響: 10.0.0-M10 から 10.0.11
2021年10月1日 Apache Tomcat 10.1.0-M6 で修正済み
重要: サービス拒否 CVE-2021-42340
バグ 63362 の修正により、メモリリークが導入されました。HTTP アップグレード接続のメトリクスを収集するために導入されたオブジェクトは、WebSocket 接続が閉じられた後も解放されませんでした。これにより、時間が経つにつれて OutOfMemoryError によるサービス拒否につながる可能性のあるメモリリークが発生しました。
これはコミット d5a6660c で修正されました。
メモリリークは2021年9月23日にユーザーメーリングリストを通じて公開報告されました。セキュリティ上の影響は同日に Tomcat セキュリティチームによって特定されました。この問題は2021年10月14日に公開されました。
影響: 10.1.0-M1 から 10.1.0-M5
2021年6月15日 Apache Tomcat 10.0.7 で修正済み
重要: リクエストスマグリング CVE-2021-33037
Apache Tomcat は、一部の状況で HTTP transfer-encoding リクエストヘッダーを正しく解析せず、リバースプロキシと組み合わせて使用された場合にリクエストスマグリングの可能性につながりました。具体的には、クライアントが HTTP/1.0 レスポンスのみを受け入れると宣言した場合に Tomcat が transfer-encoding ヘッダーを誤って無視し、Tomcat が identify エンコーディングを尊重し、Tomcat が存在する場合にチャンクエンコーディングが最終的なエンコーディングであることを確認しませんでした。
これはコミット eee0d024、506134f9 および 19d11556 で修正されました。
この問題は2021年5月7日に NEU seclab の Bahruz Jabiyev、Steven Sprecher、Kaan Onarlioglu によって Apache Tomcat セキュリティチームに報告されました。この問題は2021年7月12日に公開されました。
影響: 10.0.0-M1 から 10.0.6
2021年5月12日 Apache Tomcat 10.0.6 で修正済み
低: 認証の弱点 CVE-2021-30640
JNDI Realm によって行われるクエリは、パラメータを常に正しくエスケープするとは限りませんでした。パラメータ値は、ユーザーが提供するデータ(ユーザー名など)および管理者によって提供される設定データから取得される可能性がありました。限られた状況では、ユーザーがユーザー名のバリエーションを使用して認証したり、LockOut Realm によって提供される保護の一部をバイパスしたりすることが可能でした。
これはコミット f4d9bdef、4e61e1d6、d5303a50、b930d0b3、17208c64、bd4d1fbe、81f16b0a および eeb73512 で修正されました。
この問題は65224として公開報告されました。
影響: 10.0.0-M1 から 10.0.5
2021年4月6日 Apache Tomcat 10.0.5 で修正済み
重要: サービス拒否 CVE-2021-30639
非ブロッキング I/O 中のエラー処理を改善するための変更の一部として導入されたエラーにより、Request オブジェクトに関連付けられたエラーフラグがリクエスト間でリセットされませんでした。これは、非ブロッキング I/O エラーが発生すると、そのリクエストオブジェクトによって処理される将来のすべてのリクエストが失敗することを意味しました。ユーザーは、接続を切断するなどして非ブロッキング I/O エラーをトリガーでき、それによって DoS を引き起こす可能性がありました。
非ブロッキング I/O を使用しないアプリケーションは、この脆弱性にさらされません。
これはコミット b59099e4 で修正されました。
この問題は65203として公開報告されました。
影響: 10.0.3 から 10.0.4
2021年3月10日 Apache Tomcat 10.0.4 で修正済み
注意: 下記の問題は Apache Tomcat 10.0.3 で修正されましたが、10.0.3 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには、ユーザーは 10.0.4 をダウンロードする必要がありますが、バージョン 10.0.3 は影響を受けるバージョンのリストに含まれていません。
重要: サービス拒否 CVE-2021-41079
Tomcat が TLS に NIO+OpenSSL または NIO2+OpenSSL を使用するように構成されていた場合、巧妙に細工されたパケットによって無限ループがトリガーされ、サービス拒否につながる可能性がありました。
これはコミット 34115fb3 で修正されました。
この問題は2021年2月26日に Thomas Wozenilek によって Apache Tomcat セキュリティチームに最初に報告されましたが、確認できませんでした。投機的な修正が2021年3月3日に適用されました。2021年9月14日に Infinite Campus の David Frankson が独立してこの問題を報告し、テストケースを含めてくれました。これにより、問題と投機的な修正の両方を検証することができました。この問題は2021年9月15日に公開されました。
影響: 10.0.0-M1 から 10.0.2
2021年2月2日 Apache Tomcat 10.0.2 で修正済み
注意: 下記の問題は Apache Tomcat 10.0.1 で修正されましたが、10.0.1 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには、ユーザーは 10.0.2 をダウンロードする必要がありますが、バージョン 10.0.1 は影響を受けるバージョンのリストに含まれていません。
低: CVE-2020-9484 の修正は不完全でした CVE-2021-25329
CVE-2020-9484 の修正は不完全でした。非常に可能性の低い構成のケースでは、Tomcat インスタンスは依然として CVE-2020-9484 に対して脆弱でした。以前に公開された CVE-2020-9484 の前提条件と、以前に公開された CVE-2020-9484 の非アップグレード緩和策もこの問題に適用されることに注意してください。
これはコミット 6d66e99e で修正されました。
この問題は2021年1月12日に Viettel Cyber Security の Trung Pham 氏によって Apache Tomcat セキュリティチームに報告されました。この問題は2021年3月1日に公開されました。
影響: 10.0.0-M1 から 10.0.0
重要: h2c とのリクエスト混同 CVE-2021-25122
新しい h2c 接続リクエストに応答する際、Apache Tomcat はあるリクエストから別のリクエストにリクエストヘッダーと限られた量のリクエストボディを複製する可能性があり、ユーザー A とユーザー B の両方がユーザー A のリクエストの結果を見ることができました。
これはコミット dd757c0a で修正されました。
この問題は2021年1月11日に Apache Tomcat セキュリティチームによって特定されました。この問題は2021年3月1日に公開されました。
影響: 10.0.0-M1 から 10.0.0
2020年11月17日 Apache Tomcat 10.0.0-M10 で修正済み
重要: 情報漏洩 CVE-2021-24122
NTFS ファイルシステムを使用するネットワークロケーションからリソースを配信する際、一部の構成でセキュリティ制約をバイパスしたり、JSP のソースコードを閲覧したりすることが可能でした。根本原因は、JRE API File.getCanonicalPath()
の予期せぬ動作であり、これはさらに Windows API (FindFirstFileW
) の一部の状況における一貫性のない動作によって引き起こされました。
これはコミット 7f004ac4 で修正されました。
この問題は2020年10月26日に Ilja Brander によって Apache Tomcat セキュリティチームに報告されました。この問題は2021年1月14日に公開されました。
影響: 10.0.0-M1 から 10.0.0-M9
中: HTTP/2 リクエストヘッダー混同 CVE-2020-17527
問題 64830 を調査中に、Apache Tomcat が HTTP/2 接続で受信した前のストリームからの HTTP リクエストヘッダー値を、後続のストリームに関連するリクエストに再利用する可能性があることが判明しました。これはほとんどの場合、エラーと HTTP/2 接続のクローズにつながりますが、リクエスト間で情報が漏洩する可能性があります。
これはコミット 8d2fe689 で修正されました。
この問題は2020年11月10日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年12月3日に公開されました。
影響: 10.0.0-M1 から 10.0.0-M9
2020年9月14日 Apache Tomcat 10.0.0-M8 で修正済み
中: HTTP/2 リクエスト混同 CVE-2020-13943
HTTP/2 クライアントが接続に対する合意された同時ストリームの最大数を超過した場合(HTTP/2 プロトコル違反)、その接続で行われた後続のリクエストに、意図されたヘッダーではなく、以前のリクエストからの HTTP ヘッダー(HTTP/2 疑似ヘッダーを含む)が含まれる可能性がありました。これにより、ユーザーが予期しないリソースに対するレスポンスを目にする可能性がありました。
これはコミット 1bbc650c で修正されました。
この問題は2020年7月23日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年10月12日に公開されました。
影響: 10.0.0-M1 から 10.0.0-M7
2020年7月5日 Apache Tomcat 10.0.0-M7 で修正済み
重要: WebSocket DoS CVE-2020-13935
WebSocket フレームのペイロード長が正しく検証されていませんでした。無効なペイロード長は無限ループを引き起こす可能性がありました。無効なペイロード長を持つ複数のリクエストは、サービス拒否につながる可能性がありました。
これはコミット 1c1c77b0 で修正されました。
この問題は2020年6月28日に Apache Bugzilla インスタンスを通じて公開報告され、高 CPU 使用率への言及は含まれていましたが、サービス拒否に関する具体的な言及はありませんでした。関連する DoS リスクは同日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年7月14日に公開されました。
影響: 10.0.0-M1 から 10.0.0-M6
中: HTTP/2 DoS CVE-2020-13934
h2c 直接接続は、HTTP/2 へのアップグレード後に HTTP/1.1 プロセッサを解放しませんでした。そのようなリクエストが十分に多数行われた場合、OutOfMemoryException が発生し、サービス拒否につながる可能性がありました。
これはコミット c9167ae3 で修正されました。
この問題は2020年6月22日に Apache Tomcat ユーザーメーリングリストを通じて公開報告されましたが、DoS の可能性については言及されていませんでした。問題の再現に必要な手順を特定するためのさらなる議論の後、問題の根本原因と関連する DoS リスクが2020年6月26日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年7月14日に公開されました。
影響: 10.0.0-M1 から 10.0.0-M6
2020年6月7日 Apache Tomcat 10.0.0-M6 で修正済み
重要: HTTP/2 DoS CVE-2020-11996
巧妙に細工された一連の HTTP/2 リクエストは、数秒間高 CPU 使用率をトリガーする可能性がありました。そのようなリクエストが同時 HTTP/2 接続で十分に多数行われた場合、サーバーが応答しなくなる可能性がありました。
これはコミット 9434a44d で修正されました。
この問題は2020年5月21日に Apache Tomcat ユーザーメーリングリストを通じて公開報告されましたが、DoS の可能性については言及されていませんでした。DoS リスクは同日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年6月25日に公開されました。
影響: 10.0.0-M1 から 10.0.0-M5
2020年5月11日 Apache Tomcat 10.0.0-M5 で修正済み
重要: セッション永続化を介したリモートコード実行 CVE-2020-9484
もし
- 攻撃者がサーバー上のファイルのコンテンツと名前を制御できる場合;そして
- サーバーが
PersistenceManager
を FileStore
と共に使用するように設定されている場合;そして
PersistenceManager
が sessionAttributeValueClassNameFilter="null"
(SecurityManager
が使用されていない場合のデフォルト)または攻撃者が提供したオブジェクトの逆シリアル化を許可するのに十分緩いフィルターで構成されている場合;そして
- 攻撃者が
FileStore
が使用する保存場所から、攻撃者が制御するファイルへの相対ファイルパスを知っている場合;
その場合、特別に細工されたリクエストを使用して、攻撃者は制御下にあるファイルの逆シリアル化を介してリモートコード実行をトリガーできるでしょう。
注意: 攻撃が成功するためには、上記のすべての条件が真である必要があります。
10.0.0-M5 以降へのアップグレードの代替策として、ユーザーは PersistenceManager
を sessionAttributeValueClassNameFilter
に適切な値を設定して、アプリケーションが提供する属性のみがシリアル化および逆シリアル化されるように構成できます。
これはコミット bb33048e で修正されました。
この問題は2020年4月12日に pdd security research の jarvis threedr3am によって Apache Tomcat セキュリティチームに報告されました。この問題は2020年5月20日に公開されました。
影響: 10.0.0-M1 から 10.0.0-M4
Tomcat の脆弱性ではない
致命的: log4j を介したリモートコード実行 CVE-2021-44228
Apache Tomcat 10.x は、どのバージョンの log4j にも依存していません。
Apache Tomcat にデプロイされたウェブアプリケーションは log4j に依存している可能性があります。この場合、アプリケーションベンダーからのサポートを求めるべきです。
Apache Tomcat 10.x を設定して、Tomcat の内部ロギングに log4j 2.x を使用することは可能です。これには明示的な設定と log4j 2.x ライブラリの追加が必要です。Tomcat の内部ロギングを log4j 2.x に切り替えたユーザーは、この脆弱性に対処する必要がある可能性があります。
ほとんどの場合、問題のある機能を無効にすることが最も簡単な解決策となるでしょう。その具体的な方法は、使用している log4j 2.x の正確なバージョンによって異なります。詳細はlog4j 2.x セキュリティページに記載されています。