コンテンツ
Apache Tomcat 9.x の脆弱性
このページでは、リリースされた Apache Tomcat® 9.x のバージョンで修正されたすべてのセキュリティ脆弱性について記載しています。各脆弱性には、Apache Tomcat セキュリティチームによるセキュリティ影響度評価が付けられています。この評価はプラットフォームによって異なる場合があることにご注意ください。また、この欠陥が影響を与えることが分かっているApache Tomcatのバージョンをリストし、欠陥が検証されていない場合は疑問符付きでバージョンをリストしています。
注:Tomcat の脆弱性ではないが、Tomcat に対して誤って報告されたもの、または Tomcat が回避策を提供している脆弱性については、このページの最後に記載されています。
バイナリパッチは提供されないことにご注意ください。ソースコードパッチを適用する必要がある場合は、使用しているApache Tomcatバージョンのビルド手順を参照してください。Tomcat 9.0 の場合、それらは building.html
および BUILDING.txt
です。これらのファイルは両方ともバイナリディストリビューションの webapps/docs
サブディレクトリにあります。また、ドキュメントのセキュリティに関する考慮事項ページも確認することをお勧めします。
Tomcat のビルドや設定、またはここに記載されている既知の脆弱性を緩和するための手順の実施についてサポートが必要な場合は、公開のTomcat ユーザーメーリングリストに質問を送信してください。
未記載のセキュリティ脆弱性やセキュリティ上の影響を伴うその他の予期せぬ動作に遭遇した場合、またはここでの説明が不完全な場合は、Tomcat セキュリティチームに非公開で報告してください。ご協力ありがとうございます。
目次
2025-06-10 Apache Tomcat 9.0.106 で修正済み
中程度:PreResources および PostResources のセキュリティ制約バイパス CVE-2025-49125
Webアプリケーションのルート以外にマウントされたPreResourcesまたはPostResourcesを使用している場合、予期しないパスを介してこれらのリソースにアクセスすることが可能でした。そのパスは、予期されたパスと同じセキュリティ制約によって保護されていなかったため、これらのセキュリティ制約をバイパスすることができました。
これはコミット 9418e3ff で修正されました。
この問題は2025年6月16日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.105
低:Windows 用 Tomcat インストーラーを介したサイドローディング CVE-2025-49124
インストール中に、Windows 用 Tomcat インストーラーは icacls.exe をフルパス指定なしで使用していました。これにより、サイドローディングの脆弱性が可能になりました。
これはコミット 28726cc2 で修正されました。
この問題は2025年6月16日に公開されました。
影響を受けるバージョン:9.0.23 から 9.0.105
重要:マルチパートアップロードにおける DoS CVE-2025-48988
Tomcat は、マルチパートリクエストにおけるリクエストパラメータとパートの両方に同じ制限を使用していました。アップロードされたパートには、保持する必要があるヘッダーも含まれるため、マルチパートリクエストの処理により、大幅なメモリ使用量が発生する可能性があります。多数のパートを使用する特別に細工されたリクエストは、過剰なメモリ使用量を引き起こし、DoS につながる可能性がありました。パートの最大数は現在設定可能(コネクタ上の maxPartCount)で、デフォルトは10パートです。
これはコミット ee8042ff で修正されました。
この問題は2025年6月16日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.105
重要:Commons FileUpload における DoS CVE-2025-48976
Apache Commons FileUpload は、マルチパートリクエストに関連付けられたヘッダーのサイズに対して、10KB のハードコードされた制限を提供していました。多数のパートと大きなヘッダーを使用する特別に細工されたリクエストは、過剰なメモリ使用量を引き起こし、DoS につながる可能性がありました。この制限は現在設定可能(コネクタ上の maxPartHeaderSize)で、デフォルトは512バイトです。
これはコミット 97790a35 で修正されました。
この問題は2025年6月16日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.105
2025-05-12 Apache Tomcat 9.0.105 で修正済み
低:CGI セキュリティ制約バイパス CVE-2025-46701
CGI サーブレットにマッピングされた URL の pathInfo
コンポーネントにセキュリティ制約が設定された大文字小文字を区別しないファイルシステムで実行されている場合、特別に細工された URL でそれらのセキュリティ制約をバイパスすることが可能でした。
これはコミット 8df00018 と 8cb95ff0 で修正されました。
この問題は2025年5月29日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.104
2025-04-08 Apache Tomcat 9.0.104 で修正済み
注:以下の問題は Apache Tomcat 9.0.103 で修正されましたが、9.0.103 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには 9.0.104 をダウンロードする必要がありますが、バージョン 9.0.103 は影響を受けるバージョンのリストに含まれていません。
低:リライトルールバイパス CVE-2025-31651
一部の可能性の低いリライトルールの設定において、特別に細工されたリクエストが一部のリライトルールをバイパスできる可能性がありました。これらのリライトルールが実質的にセキュリティ制約を強制していた場合、その制約はバイパスされる可能性があります。
これはコミット ee3ab548 と 175dc75f で修正されました。
この問題は2025年4月28日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.102
重要:無効な HTTP 優先ヘッダーを介したサービス拒否 CVE-2025-31650
一部の無効な HTTP 優先ヘッダーに対する誤ったエラー処理により、失敗したリクエストのクリーンアップが不完全になり、メモリリークが発生しました。このようなリクエストが多数発生すると、OutOfMemoryException がトリガーされ、サービス拒否につながる可能性がありました。
これはコミット 40ae788c、b98e74f5、および b7674782 で修正されました。
この問題は2025年4月28日に公開されました。
影響を受けるバージョン:9.0.76 から 9.0.102
2025-02-10 Apache Tomcat 9.0.99 で修正済み
重要:書き込み可能な Default Servlet を介したリモートコード実行、および/または情報開示、および/またはアップロードファイルへの悪意あるコンテンツの追加 - CVE-2025-24813
部分 PUT の元の実装では、ユーザーが提供したファイル名とパスに基づいて一時ファイルが使用され、パス区切り記号が "." に置き換えられました。
以下のすべてが該当する場合、悪意のあるユーザーはセキュリティ上機密なファイルを閲覧したり、それらのファイルにコンテンツを注入したりすることができました。
- デフォルトサーブレットの書き込みが有効になっている(デフォルトでは無効)
- 部分 PUT のサポート(デフォルトでは有効)
- セキュリティ上機密なアップロードのターゲット URL が、公開アップロードのターゲット URL のサブディレクトリである
- 攻撃者がアップロードされるセキュリティ上機密なファイルの名前を知っている
- セキュリティ上機密なファイルも部分 PUT を介してアップロードされている
以下のすべてが該当する場合、悪意のあるユーザーはリモートコード実行を実行できました
- デフォルトサーブレットの書き込みが有効になっている(デフォルトでは無効)
- 部分 PUT のサポート(デフォルトでは有効)
- アプリケーションが Tomcat のファイルベースのセッション永続化をデフォルトの保存場所で使用している
- アプリケーションに、デシリアライゼーション攻撃に利用される可能性のあるライブラリが含まれている
これはコミット eb61aade で修正されました。
この問題は2025年3月10日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.98
2024-12-09 Apache Tomcat 9.0.98 で修正済み
重要:書き込み可能な Default Servlet を介したリモートコード実行。CVE-2024-50379 の緩和策が不完全でした - CVE-2024-56337
CVE-2024-50379 に対する以前の緩和策は不完全でした。9.0.98 以降にアップグレードすることに加えて、デフォルトサーブレットの書き込みが有効になっている大文字小文字を区別しないファイルシステムで Tomcat を実行しているユーザーは、使用している Java のバージョンに応じて追加の設定が必要になる場合があります。
- Java 8 または Java 11 で実行している場合:システムプロパティ
sun.io.useCanonCaches
を明示的に false
に設定する必要があります(デフォルトは true
です)。
- Java 17 で実行している場合:システムプロパティ
sun.io.useCanonCaches
は、設定されている場合、false
に設定する必要があります(デフォルトは false
です)。
- Java 21 以降で実行している場合:追加の設定は不要です(システムプロパティと問題のあるキャッシュは削除されました)。
この問題は2024年12月20日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.97
低:examples Webアプリケーションにおける DoS CVE-2024-54677
examples Webアプリケーションの多数の例で、アップロードされたデータに制限が設けられていなかったため、OutOfMemoryError がトリガーされ、サービス拒否を引き起こす可能性がありました。
これはコミット 1d88dd3f、721544ea、84065e26、3315a902、c2f7ce21、75ff7e86、4d5cc653、84c4af76、および 9ffd23fc で修正されました。
この問題は2024年12月17日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.97
重要:書き込み可能な Default Servlet を介したリモートコード実行 CVE-2024-50379
大文字小文字を区別しないファイルシステムでデフォルトサーブレットの書き込みが有効になっている(readonly
初期化パラメータがデフォルト値の false
ではない値に設定されている)場合、同じファイルの同時読み取りとアップロードが負荷の下で行われると、Tomcat の大文字小文字区別チェックをバイパスし、アップロードされたファイルが JSP として扱われることでリモートコード実行につながる可能性があります。
これはコミット 43b507eb および 631500b0 で修正されました。
この問題は2024年12月17日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.97
2024-11-09 Apache Tomcat 9.0.97 で修正済み
重要:生成された JSP における XSS CVE-2024-52318
改善 69333 の修正により、プールされた JSP タグが使用後に解放されず、その結果、一部のタグの出力が期待通りにエスケープされない可能性がありました。このエスケープされていない出力は XSS につながる可能性がありました。
これはコミット 9813c5dd で修正されました。
この問題は2024年11月18日に公開されました。
影響を受けるバージョン:9.0.96
2024-10-09 Apache Tomcat 9.0.96 で修正済み
重要:リクエストとレスポンスの混同 CVE-2024-52317
HTTP/2 リクエストで使用されるリクエストとレスポンスの不適切な再利用により、ユーザー間でリクエストとレスポンスの混同が発生する可能性がありました。
これはコミット 47307ee2 で修正されました。
この問題は2024年10月1日に Tomcat セキュリティチームによって特定されました。この問題は2024年11月18日に公開されました。
影響を受けるバージョン:9.0.92 から 9.0.95
低:認証バイパス CVE-2024-52316
Tomcat がカスタムの Jakarta Authentication (以前の JASPIC) ServerAuthContext コンポーネントを使用するように設定されており、そのコンポーネントが認証プロセス中に明示的に HTTP ステータスを失敗を示すように設定せずに例外をスローする場合、認証が失敗しない可能性があり、ユーザーが認証プロセスをバイパスすることを許可していました。このような動作をする Jakarta Authentication コンポーネントは既知ではありません。
これはコミット 7532f9dc で修正されました。
この問題は2024年9月19日に Tomcat セキュリティチームによって特定されました。この問題は2024年11月18日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.95
2024-06-19 Apache Tomcat 9.0.90 で修正済み
重要:サービス拒否 CVE-2024-34750
HTTP/2 ストリームを処理する際、Tomcat は一部の過剰な HTTP ヘッダーケースを正しく処理しませんでした。これにより、アクティブな HTTP/2 ストリームの誤ったカウントが発生し、その結果、誤った無限タイムアウトが使用され、クローズされるべき接続が開いたままになる可能性がありました。
これはコミット 9fec9a82 で修正されました。
この問題は2024年5月4日に Tomcat セキュリティチームに報告されました。この問題は2024年7月3日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.89
重要:サービス拒否 CVE-2024-38286
Tomcat は、どのプラットフォームでも特定の構成において、TLS ハンドシェイクプロセスを悪用することで、攻撃者が OutOfMemoryError を引き起こすことを可能にします。
これはコミット 76c5cce6 で修正されました。
この問題は2024年6月4日に Tomcat セキュリティチームに報告されました。この問題は2024年9月23日に公開されました。
影響を受けるバージョン:9.0.13 から 9.0.89
2024-02-19 Apache Tomcat 9.0.86 で修正済み
重要:サービス拒否 CVE-2024-23672
WebSocket クライアントが WebSocket 接続を開いたままにすることができ、リソース消費が増加する可能性がありました。
これはコミット 52d6650e で修正されました。
この問題は2024年1月17日に Tomcat セキュリティチームによって特定されました。この問題は2024年3月13日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.85
重要:サービス拒否 CVE-2024-24549
HTTP/2 リクエストを処理する際、リクエストがヘッダーの設定された制限のいずれかを超過した場合、関連する HTTP/2 ストリームはすべてのヘッダーが処理されるまでリセットされませんでした。
これはコミット 8e03be9f で修正されました。
この問題は2024年1月24日に Tomcat セキュリティチームに報告されました。この問題は2024年3月13日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.85
2023-11-15 Apache Tomcat 9.0.83 で修正済み
重要:リクエストスマグリング CVE-2023-46589
Tomcat は HTTP トレーラーヘッダーを正しく解析しませんでした。ヘッダーサイズ制限を超える特別に細工されたトレーラーヘッダーは、Tomcat が単一のリクエストを複数のリクエストとして扱う原因となり、リバースプロキシの背後にある場合にリクエストスマグリングの可能性につながりました。
これはコミット 7a2d8818 で修正されました。
この問題は2023年10月20日に Tomcat セキュリティチームに報告されました。この問題は2023年11月28日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.82
2023-10-10 Apache Tomcat 9.0.81 で修正済み
重要:リクエストスマグリング CVE-2023-45648
Tomcat は HTTP トレーラーヘッダーを正しく解析しませんでした。特別に細工された無効なトレーラーヘッダーは、Tomcat が単一のリクエストを複数のリクエストとして扱う原因となり、リバースプロキシの背後にある場合にリクエストスマグリングの可能性につながりました。
これはコミット 59583245 で修正されました。
この問題は2023年9月12日に Tomcat セキュリティチームに報告されました。この問題は2023年10月10日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.80
重要:サービス拒否 CVE-2023-44487
Tomcat の HTTP/2 実装は、高速リセット攻撃に対して脆弱でした。サービス拒否は通常、OutOfMemoryError
として現れました。
これはコミット 6d1a9fd6 で修正されました。
この問題は2023年9月14日に Tomcat セキュリティチームに報告されました。この問題は2023年10月10日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.80
重要:情報漏洩 CVE-2023-42795
リクエストやレスポンスを含む様々な内部オブジェクトを、次のリクエスト/レスポンスで再利用する前にリサイクルする際、エラーが発生すると Tomcat がリサイクルプロセスの一部をスキップし、現在のリクエスト/レスポンスから次のリクエスト/レスポンスへ情報が漏洩する可能性がありました。
これはコミット 44d05d75 で修正されました。
この問題は2023年9月13日に Tomcat セキュリティチームによって特定されました。この問題は2023年10月10日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.80
低:サービス拒否 CVE-2023-42794
Tomcat が内部でフォークした Commons FileUpload には、未リリースで進行中のリファクタリングが含まれており、Webアプリケーションがアップロードされたファイルに対してストリームを開いたものの、ストリームを閉じなかった場合に、Windows 上で潜在的なサービス拒否を露呈させていました。ファイルはディスクから削除されることがなく、最終的にディスクがいっぱいになりサービス拒否が発生する可能性がありました。
これはコミット 43b882b8 で修正されました。
この問題は2023年9月1日に Tomcat セキュリティチームに報告されました。この問題は2023年10月10日に公開されました。
影響を受けるバージョン:9.0.70 から 9.0.80
2023-08-25 Apache Tomcat 9.0.80 で修正済み
中程度:オープンリダイレクト CVE-2023-41080
ROOT(デフォルト)Webアプリケーションが FORM 認証を使用するように設定されている場合、特別に細工された URL を使用して、攻撃者が選択した URL へのリダイレクトをトリガーできる可能性がありました。
これはコミット 77c0ce2d で修正されました。
この問題は2023年8月17日に Tomcat セキュリティチームに報告されました。この問題は2023年8月22日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.79
2023-05-10 Apache Tomcat 9.0.75 で修正済み
重要:情報漏洩 CVE-2023-34981
バグ 66512 の修正で導入された回帰が、バグ 66591 として修正されました。この回帰により、応答に HTTP ヘッダーが設定されていない場合、AJP SEND_HEADERS
メッセージが送信されないことになり、その結果、少なくとも1つの AJP ベースのプロキシ (mod_proxy_ajp) が、現在のリクエストに対して以前のリクエストの応答ヘッダーを使用し、情報漏洩につながる可能性がありました。
これはコミット 2f0ca237 で修正されました。
この問題は2023年5月24日に Tomcat セキュリティチームに報告されました。この問題は2023年6月21日に公開されました。
影響を受けるバージョン:9.0.74
2023-04-18 Apache Tomcat 9.0.74 で修正済み
中程度:Apache Tomcat サービス拒否 CVE-2023-28709
CVE-2023-24998 の修正は不完全でした。クエリ文字列パラメータを使用して maxParameterCount
に到達できるような非デフォルトの HTTP コネクタ設定が使用され、クエリ文字列に正確に maxParameterCount
のパラメータが指定されたリクエストが送信された場合、アップロードされたリクエストパートの制限をバイパスでき、サービス拒否が発生する可能性がありました。
これはコミット fbd81421 で修正されました。
この問題は2023年3月13日に Tomcat セキュリティチームに報告されました。この問題は2023年5月22日に公開されました。
影響を受けるバージョン:9.0.71 から 9.0.73
2023-02-23 Apache Tomcat 9.0.72 で修正済み
重要:Apache Tomcat 情報漏洩 CVE-2023-28708
HTTP を介してリバースプロキシから受信したリクエストで RemoteIpFilter
を使用し、X-Forwarded-Proto
ヘッダーが https
に設定されている場合、Tomcat によって作成されたセッションクッキーに secure 属性が含まれていませんでした。これにより、ユーザーエージェントがセッションクッキーを安全でないチャネルで送信する可能性がありました。
これはコミット 3b512307 で修正されました。
66471 は2023年2月8日に公開報告されました。セキュリティ上の影響は2023年2月9日に Tomcat セキュリティチームによって特定されました。この問題は2023年3月22日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.71
2023-01-13 Apache Tomcat 9.0.71 で修正済み
重要:Apache Tomcat サービス拒否 CVE-2023-24998
Apache Tomcat は、Jakarta Servlet 仕様で定義されているファイルアップロード機能を提供するために、Apache Commons FileUpload のリパッケージされたコピーを使用しています。したがって、Apache Tomcat は、処理されるリクエストパートの数に制限がなかったため、Apache Commons FileUpload の脆弱性 CVE-2023-24998 にも脆弱でした。これにより、攻撃者が悪意のあるアップロードまたは一連のアップロードによって DoS をトリガーする可能性がありました。
これはコミット cf77cc54 で修正されました。
この問題は2022年12月11日に Apache Tomcat セキュリティチームに報告されました。この問題は2023年2月20日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.70
2022-11-14 Apache Tomcat 9.0.69 で修正済み
低:Apache Tomcat JsonErrorReportValve インジェクション CVE-2022-45143
JsonErrorReportValve
は type
、message
、description
の値をエスケープしませんでした。場合によっては、これらはユーザー提供のデータから構築されるため、ユーザーが JSON 出力を無効化したり操作したりする値を供給することが可能でした。
これはコミット b336f4e5 で修正されました。
この問題は2022年9月2日に Apache Tomcat セキュリティチームによって特定されました。この問題は2023年1月3日に公開されました。
影響を受けるバージョン:9.0.40 から 9.0.68
2022-10-07 Apache Tomcat 9.0.68 で修正済み
低:Apache Tomcat リクエストスマグリング CVE-2022-42252
Tomcat が rejectIllegalHeader
を false
(デフォルトではない)に設定して無効な HTTP ヘッダーを無視するように設定されている場合、Tomcat は無効な Content-Length
ヘッダーを含むリクエストを拒否しなかったため、Tomcat が無効なヘッダーを持つリクエストを拒否しなかったリバースプロキシの背後に配置されている場合、リクエストスマグリング攻撃が可能になりました。
これはコミット 4c7f4fd0 で修正されました。
この問題は2022年9月29日に Apache Tomcat セキュリティチームに報告されました。この問題は2022年10月31日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.67
2022-07-20 Apache Tomcat 9.0.65 で修正済み
低:Apache Tomcat examples Webアプリケーションにおける XSS CVE-2022-34305
examples Webアプリケーションのフォーム認証の例が、ユーザー提供データをフィルタリングせずに表示しており、XSS 脆弱性を露呈していました。
これはコミット 8b60af90 で修正されました。
この問題は2022年6月22日に Apache Tomcat セキュリティチームに報告されました。この問題は2022年6月23日に公開されました。
影響を受けるバージョン:9.0.30 から 9.0.64
2022-05-16 Apache Tomcat 9.0.63 で修正済み
低:Apache Tomcat EncryptInterceptor DoS CVE-2022-29885
EncryptInterceptor のドキュメントには、Tomcat クラスタリングを信頼できないネットワーク上で実行できると誤って記載されていました。これは正しくありませんでした。EncryptInterceptor は機密性と整合性の保護を提供しますが、信頼できないネットワーク上での実行に伴うすべてのリスク、特に DoS のリスクから保護するものではありません。
これはコミット eaafd282 で修正されました。
この問題は2022年4月17日に 4ra1n 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2022年5月10日に公開されました。
影響を受けるバージョン:9.0.13 から 9.0.62
2022年4月1日 Apache Tomcat 9.0.62 で修正済み
注:以下の問題は Apache Tomcat 9.0.61 で修正されましたが、9.0.61 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには 9.0.62 をダウンロードする必要がありますが、バージョン 9.0.61 は影響を受けるバージョンのリストに含まれていません。
高:情報漏洩 CVE-2021-43980
Tomcat 10 で導入され、Tomcat 9.0.47 以降にバックポートされたブロッキング読み書きの簡略化された実装により、長年の(しかし非常にトリガーが困難な)並行性バグが露呈しました。これにより、クライアント接続が Http11Processor インスタンスを共有し、応答または部分応答が誤ったクライアントに受信される可能性がありました。
これはコミット 170e0f79 で修正されました。
この問題は2021年11月11日に Adam Thomas、Richard Hernandez、Ryan Schmitt 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2022年9月28日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.60
2022年1月20日 Apache Tomcat 9.0.58 で修正済み
注:以下の問題は Apache Tomcat 9.0.57 で修正されましたが、9.0.57 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには 9.0.58 をダウンロードする必要がありますが、バージョン 9.0.57 は影響を受けるバージョンのリストに含まれていません。
低:ローカル特権昇格 CVE-2022-23181
バグ CVE-2020-9484 の修正により、ToCToU (Time-of-check to Time-of-use) 脆弱性が導入され、Tomcat プロセスや設定ファイルにアクセスできないローカル攻撃者が RMI レジストリを操作して、JMX インターフェースへのアクセスに使用されるユーザー名とパスワードを傍受する中間者攻撃を実行できる可能性がありました。攻撃者はこれらの資格情報を使用して JMX インターフェースにアクセスし、Tomcat インスタンスを完全に制御することができました。この問題は、Tomcat が FileStore を使用してセッションを永続化するように設定されている場合にのみ悪用可能です。
これはコミット 1385c624 で修正されました。
この問題は2021年12月10日に Viettel Cyber Security の Trung Pham 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2022年1月26日に公開されました。
影響を受けるバージョン:9.0.35 から 9.0.56
2021年10月1日 Apache Tomcat 9.0.54 で修正済み
重要:サービス拒否 CVE-2021-42340
バグ 63362 の修正によりメモリリークが導入されました。HTTP アップグレード接続のメトリクスを収集するために導入されたオブジェクトが、WebSocket 接続がクローズされた後も WebSocket 接続に対して解放されませんでした。これによりメモリリークが発生し、時間の経過とともに OutOfMemoryError を介したサービス拒否につながる可能性がありました。
これはコミット 80f1438e で修正されました。
このメモリリークは2021年9月23日にユーザーメーリングリストを通じて公開報告されました。セキュリティ上の影響は同日 Tomcat セキュリティチームによって特定されました。この問題は2021年10月14日に公開されました。
影響を受けるバージョン:9.0.40 から 9.0.53
2021年6月15日 Apache Tomcat 9.0.48 で修正済み
注:以下の問題は Apache Tomcat 9.0.47 で修正されましたが、9.0.47 リリース候補のリリース投票は通過しませんでした。したがって、この問題の修正を含むバージョンを入手するには 9.0.48 をダウンロードする必要がありますが、バージョン 9.0.47 は影響を受けるバージョンのリストに含まれていません。
重要:リクエストスマグリング CVE-2021-33037
Apache Tomcat は、特定の場合に HTTP transfer-encoding リクエストヘッダーを正しく解析せず、リバースプロキシと組み合わせて使用した場合にリクエストスマグリングの可能性につながりました。具体的には、Tomcat はクライアントが HTTP/1.0 応答のみを受け入れると宣言した場合に transfer-encoding ヘッダーを誤って無視しました。また、identify エンコーディングを尊重し、chunked エンコーディングが存在する場合にそれが最終エンコーディングであることを保証しませんでした。
これはコミット 45d70a86、05f9e8b0、および a2c3dc4c で修正されました。
この問題は2021年5月7日に NEU seclab の Bahruz Jabiyev 氏、Steven Sprecher 氏、Kaan Onarlioglu 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2021年7月12日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.46
2021年5月12日 Apache Tomcat 9.0.46 で修正済み
低:認証の弱点 CVE-2021-30640
JNDI Realm によるクエリが常にパラメータを正しくエスケープするとは限りませんでした。パラメータ値は、ユーザーが提供したデータ(例:ユーザー名)や管理者が提供した設定データから取得される可能性がありました。限られた状況下で、ユーザーはユーザー名のバリエーションを使用して認証したり、LockOut Realm によって提供される保護の一部をバイパスしたりすることが可能でした。
これはコミット c4df8d44、749f3cc1、c6b6e101、91ecdc61、e5006748、b5585a9e、32993201、および 3ce84512 で修正されました。
この問題は65224として公開報告されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.45
2021年4月6日 Apache Tomcat 9.0.45 で修正済み
重要:サービス拒否 CVE-2021-30639
ノンブロッキングI/O中のエラー処理を改善するための変更の一部として導入されたエラーにより、Request オブジェクトに関連付けられたエラーフラグがリクエスト間でリセットされませんでした。これは、ノンブロッキングI/Oエラーが発生すると、そのリクエストオブジェクトによって処理される将来のすべてのリクエストが失敗することを意味しました。ユーザーは、例えば接続を切断することによって、ノンブロッキングI/Oエラーをトリガーでき、それによってDoSをトリガーする可能性がありました。
ノンブロッキングI/Oを使用しないアプリケーションは、この脆弱性の影響を受けません。
これはコミット 8ece47c4 で修正されました。
この問題は65203として公開報告されました。
影響を受けるバージョン:9.0.44
2021年3月10日 Apache Tomcat 9.0.44 で修正済み
重要:サービス拒否 CVE-2021-41079
Tomcat が TLS に NIO+OpenSSL または NIO2+OpenSSL を使用するように設定されている場合、特別に細工されたパケットによって無限ループがトリガーされ、サービス拒否につながる可能性がありました。
これはコミット d4b340fa で修正されました。
この問題は2021年2月26日に Thomas Wozenilek 氏から Apache Tomcat セキュリティチームに初めて報告されましたが、確認できませんでした。2021年3月3日に投機的な修正が適用されました。2021年9月14日、Infinite Campus の David Frankson 氏が独自にこの問題を報告し、テストケースを含めていました。これにより、問題と投機的な修正の両方を検証することができました。この問題は2021年9月15日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.43
重要:情報漏洩 CVE-2024-21733
不完全な POST リクエストは、別のユーザーからの以前のリクエストからのデータを含む可能性のあるエラー応答をトリガーしました。
これはコミット 86ccc439 で修正されました。
この問題は2023年12月20日に Sn1perSecurity LLC の xer0dayz 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2024年1月19日に公開されました。
影響を受けるバージョン:9.0.0-M11 から 9.0.43
2021年2月2日 Apache Tomcat 9.0.43 で修正済み
注:以下の問題は Apache Tomcat 9.0.42 で修正されましたが、9.0.42 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには 9.0.43 をダウンロードする必要がありますが、バージョン 9.0.42 は影響を受けるバージョンのリストに含まれていません。
低:CVE-2020-9484 の修正が不完全でした CVE-2021-25329
CVE-2020-9484 の修正は不完全でした。非常に可能性の低い設定のエッジケースを使用した場合、Tomcat インスタンスは依然として CVE-2020-9484 に対して脆弱でした。以前に公開された CVE-2020-9484 の前提条件と、以前に公開された CVE-2020-9484 の非アップグレード緩和策もこの問題に適用されることに注意してください。
これはコミット 4785433a で修正されました。
この問題は2021年1月12日に Viettel Cyber Security の Trung Pham 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2021年3月1日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.41
重要:h2c におけるリクエスト混同 CVE-2021-25122
新しい h2c 接続リクエストに応答する際、Apache Tomcat はリクエストヘッダーと限られた量のリクエストボディをあるリクエストから別のリクエストに複製する可能性があり、ユーザー A とユーザー B の両方がユーザー A のリクエストの結果を見ることができました。
これはコミット d47c20a7 で修正されました。
この問題は2021年1月11日に Apache Tomcat セキュリティチームによって特定されました。この問題は2021年3月1日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.41
2020年11月17日 Apache Tomcat 9.0.40 で修正済み
重要:情報漏洩 CVE-2021-24122
NTFS ファイルシステムを使用してネットワークロケーションからリソースを提供している場合、一部の構成でセキュリティ制約をバイパスしたり、JSP のソースコードを表示したりすることが可能でした。根本原因は、JRE API File.getCanonicalPath()
の予期せぬ動作であり、これは特定の場合における Windows API (FindFirstFileW
) の一貫性のない動作によって引き起こされました。
これはコミット 935fc558 で修正されました。
この問題は2020年10月26日に Ilja Brander 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2021年1月14日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.39
中程度:HTTP/2 リクエストヘッダー混同 CVE-2020-17527
問題 64830 を調査中に、Apache Tomcat が HTTP/2 接続で受信した前のストリームの HTTP リクエストヘッダー値を、後続のストリームに関連付けられたリクエストで再利用する可能性があることが判明しました。これにより、ほとんどの場合エラーが発生し、HTTP/2 接続が閉じられますが、リクエスト間で情報が漏洩する可能性がありました。
これはコミット d56293f8 で修正されました。
この問題は2020年11月10日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年12月3日に公開されました。
影響を受けるバージョン:9.0.0-M1 から 9.0.39
2020年9月15日 Apache Tomcat 9.0.38 で修正済み
中程度:HTTP/2 リクエスト混同 CVE-2020-13943
HTTP/2 クライアントが接続に対する同時ストリームの最大合意数を超過した場合(HTTP/2 プロトコル違反)、その接続で行われた後続のリクエストに、意図したヘッダーではなく、以前のリクエストからの HTTP ヘッダー(HTTP/2 擬似ヘッダーを含む)が含まれる可能性がありました。これにより、ユーザーが予期しないリソースの応答を目にすることがありました。
これはコミット 55911430 で修正されました。
この問題は2020年7月23日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年10月12日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.37
2020年7月5日 Apache Tomcat 9.0.37 で修正済み
重要:WebSocket DoS CVE-2020-13935
WebSocket フレームのペイロード長が正しく検証されていませんでした。無効なペイロード長は無限ループをトリガーする可能性がありました。無効なペイロード長を持つ複数のリクエストは、サービス拒否につながる可能性がありました。
これはコミット 40fa74c7 で修正されました。
この問題は2020年6月28日に Apache Bugzilla インスタンスを介して公開報告され、高CPU使用率への言及は含まれていましたが、サービス拒否への具体的な言及はありませんでした。関連するDoSリスクは同日 Apache Tomcat セキュリティチームによって特定されました。この問題は2020年7月14日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.36
中程度:HTTP/2 DoS CVE-2020-13934
h2c ダイレクト接続は、HTTP/2 へのアップグレード後に HTTP/1.1 プロセッサを解放しませんでした。このようなリクエストが十分な数行われると、OutOfMemoryException が発生し、サービス拒否につながる可能性がありました。
これはコミット 172977f0 で修正されました。
この問題は2020年6月22日に Apache Tomcat Users メーリングリストを通じて公開報告されましたが、DoS の可能性への言及はありませんでした。問題を再現するために必要な手順を特定するためのさらなる議論の後、問題の根本原因と関連する DoS リスクは2020年6月26日に Apache Tomcat セキュリティチームによって特定されました。この問題は2020年7月14日に公開されました。
影響を受けるバージョン:9.0.0.M5 から 9.0.36
2020年6月7日 Apache Tomcat 9.0.36 で修正済み
重要:HTTP/2 DoS CVE-2020-11996
特別に細工された一連の HTTP/2 リクエストにより、数秒間にわたり高い CPU 使用率がトリガーされる可能性がありました。そのようなリクエストが同時 HTTP/2 接続で十分な数行われた場合、サーバーが応答不能になる可能性がありました。
これはコミット 9a023168 で修正されました。
この問題は2020年5月21日に Apache Tomcat Users メーリングリストを通じて公開報告されましたが、DoS の可能性への言及はありませんでした。DoS リスクは同日 Apache Tomcat セキュリティチームによって特定されました。この問題は2020年6月25日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.35
2020年5月11日 Apache Tomcat 9.0.35 で修正済み
重要:セッション永続化を介したリモートコード実行 CVE-2020-9484
もし
- 攻撃者がサーバー上のファイルのコンテンツと名前を制御できる;かつ
- サーバーが
FileStore
を伴う PersistenceManager
を使用するように設定されている;かつ
PersistenceManager
が sessionAttributeValueClassNameFilter="null"
(SecurityManager
が使用されていない場合のデフォルト)または攻撃者が提供したオブジェクトのデシリアライゼーションを許可するのに十分に緩いフィルターで設定されている;かつ
- 攻撃者が
FileStore
によって使用されるストレージロケーションから、攻撃者が制御するファイルへの相対ファイルパスを知っている;
その場合、特別に細工されたリクエストを使用して、攻撃者は制御下のファイルのデシリアライゼーションを介してリモートコード実行をトリガーできるでしょう。
注:上記すべての条件が真である場合にのみ、攻撃は成功します。
9.0.35 以降にアップグレードする代替策として、ユーザーは PersistenceManager
を sessionAttributeValueClassNameFilter
の適切な値で設定し、アプリケーション提供の属性のみがシリアライズおよびデシリアライズされるようにすることができます。
これはコミット 3aa8f28d で修正されました。
この問題は2020年4月12日に pdd security research の jarvis threedr3am 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2020年5月20日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.34
2020年2月11日 Apache Tomcat 9.0.31 で修正済み
重要:AJP リクエストインジェクションと潜在的なリモートコード実行 CVE-2020-1938
Apache JServ Protocol (AJP) を使用する場合、Apache Tomcat への受信接続を信頼する際には注意が必要です。Tomcat は AJP 接続を、例えば同様の HTTP 接続よりも高い信頼性を持つものとして扱います。このような接続が攻撃者によって利用可能である場合、予期せぬ方法で悪用される可能性があります。Tomcat 9.0.31 より前では、Tomcat はデフォルトで AJP Connector が有効になっており、すべての設定済み IP アドレスでリッスンしていました。これは(セキュリティガイドでも推奨されていましたが)、不要な場合はこのコネクタを無効にすることが期待されていました。
この脆弱性報告以前に、攻撃者が AJP ポートに直接アクセスできる既知のリスクは以下の通りでした。
- クライアント IP アドレスに基づくセキュリティチェックのバイパス
- Tomcat がリバースプロキシによって提供された認証データを信頼するように設定されている場合、ユーザー認証のバイパス
この脆弱性報告は、以下のことを可能にするメカニズムを特定しました。
- WEB-INF および META-INF ディレクトリ下、または ServletContext.getResourceAsStream() を介して到達可能なその他の場所を含む、Web アプリケーション内の任意の場所から任意のファイルを返す
- Web アプリケーション内の任意のファイルを JSP として処理する
さらに、Web アプリケーションがファイルのアップロードを許可し、それらのファイルを Web アプリケーション内に保存している場合(または攻撃者が何らかの別の手段で Web アプリケーションのコンテンツを制御できる場合)、これは、ファイルを JSP として処理する能力と相まって、リモートコード実行を可能にしました。
緩和策は、AJP ポートが信頼できないユーザーにアクセス可能な場合にのみ必要であることに注意することが重要です。任意ファイルのリターンおよび JSP としての実行を許可するベクトルをブロックし、多層防御アプローチを取りたいユーザーは、Apache Tomcat 9.0.31 以降にアップグレードしてください。ユーザーは、デフォルトの AJP Connector 設定に対して9.0.31で多くの変更が行われ、デフォルト設定が強化されたことに注意する必要があります。したがって、9.0.31 以降にアップグレードするユーザーは、設定にわずかな変更を加える必要がある可能性があります。
これはコミット 0e8a50f0、9ac90532、64fa5b99、7a1406a3、および 49ad3f95 で修正されました。
この問題は2020年1月3日に Apache Tomcat セキュリティチームに報告されました。この問題は2020年2月24日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.30
低:HTTP リクエストスマグリング CVE-2020-1935
HTTP ヘッダー解析コードは、EOL (End-of-Line) 解析に一部の無効な HTTP ヘッダーを有効として解析することを許可するアプローチを使用していました。これにより、Tomcat が無効な Transfer-Encoding ヘッダーを特定の形で誤って処理するリバースプロキシの背後に配置されている場合、HTTP リクエストスマグリングの可能性が生じました。そのようなリバースプロキシは起こりにくいと考えられます。
これはコミット 8bfb0ff7 で修正されました。
この問題は2019年12月25日に @ZeddYu 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2020年2月24日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.30
低:HTTP リクエストスマグリング CVE-2019-17569
9.0.28 でのリファクタリングにより、リグレッションが導入されました。その結果、無効な Transfer-Encoding ヘッダーが誤って処理され、Tomcat が無効な Transfer-Encoding ヘッダーを特定の形で誤って処理するリバースプロキシの背後に配置されている場合、HTTP リクエストスマグリングの可能性が生じました。そのようなリバースプロキシは起こりにくいと考えられます。
これはコミット 060ecc5e で修正されました。
この問題は2019年12月12日に @ZeddYu 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2020年2月24日に公開されました。
影響を受けるバージョン:9.0.28 から 9.0.30
2019年12月12日 Apache Tomcat 9.0.30 で修正済み
低:セッション固定 CVE-2019-17563
FORM 認証を使用している場合、攻撃者がセッション固定攻撃を実行できる狭い時間的窓がありました。この窓は悪用が実際的ではないほど狭いと考えられていましたが、用心のために、この問題はセキュリティ脆弱性として扱われました。
これはコミット 1ecba14e で修正されました。
この問題は2019年11月19日に IBM の William Marlow 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2019年12月18日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.29
2019年11月21日 Apache Tomcat 9.0.29 で修正済み
中程度:ローカル特権昇格 CVE-2019-12418
Tomcat が JMX Remote Lifecycle Listener で設定されている場合、Tomcat プロセスや設定ファイルにアクセスできないローカル攻撃者は、RMI レジストリを操作して中間者攻撃を実行し、JMX インターフェースへのアクセスに使用されるユーザー名とパスワードを傍受することができました。攻撃者はその後、これらの資格情報を使用して JMX インターフェースにアクセスし、Tomcat インスタンスを完全に制御することができました。
JMX Remote Lifecycle Listener は将来の Tomcat リリースで非推奨となり、Tomcat 10 から削除され、2020年12月31日以降にすべての Tomcat リリースから削除される可能性があります。
ユーザーは、この問題がリモートで悪用されることを可能にする JRE 脆弱性である CVE-2019-2684 にも注意する必要があります。
これはコミット 1fc9f589 で修正されました。
この問題は2019年10月10日に Viettel Cyber Security の An Trinh 氏から Apache Tomcat セキュリティチームに報告されました。この問題は2019年12月18日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.28
2019年6月7日 Apache Tomcat 9.0.21 で修正済み
重要:リクエスト混同 CVE-2022-25762
Webアプリケーションが WebSocket 接続のクローズと同時に WebSocket メッセージを送信した場合、アプリケーションがクローズされたソケットを使い続ける可能性がありました。この場合にトリガーされるエラー処理により、プールされたオブジェクトがプールに二重に配置される可能性がありました。これにより、後続の接続が同じオブジェクトを同時に使用し、データが誤ったユーザーに返されたり、その他のエラーが発生したりする可能性がありました。
これはコミット e2d5a040、7046644b、339b40bc、および 65fb1ee5 で修正されました。
この問題は2021年12月21日に Apache Tomcat セキュリティチームによって特定されました。この問題は2022年5月12日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.20
2019年5月13日 Apache Tomcat 9.0.20 で修正済み
重要:サービス拒否 CVE-2019-10072
CVE-2019-0199 の修正は不完全であり、書き込み時の HTTP/2 接続ウィンドウ枯渇に対処していませんでした。接続ウィンドウ (ストリーム 0) の WINDOW_UPDATE メッセージを送信しないことで、クライアントはサーバー側スレッドをブロックさせ、最終的にスレッド枯渇と DoS につながる可能性がありました。
これはコミット 7f748eb6 および ada725a5 で修正されました。
この問題は2019年4月26日に Trend Micro Security Research の John Simpson 氏が Trend Micro の Zero Day Initiative と協力して Apache Tomcat セキュリティチームに報告しました。この問題は2019年6月20日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.19
2019年4月13日 Apache Tomcat 9.0.19 で修正済み
注:以下の問題は Apache Tomcat 9.0.18 で修正されましたが、9.0.18 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには 9.0.19 をダウンロードする必要がありますが、バージョン 9.0.18 は影響を受けるバージョンのリストに含まれていません。
重要:Windows におけるリモートコード実行 CVE-2019-0232
Windows で enableCmdLineArguments を有効にして実行している場合、CGI サーブレットは、JRE がコマンドライン引数を Windows に渡す方法のバグにより、リモートコード実行に対して脆弱です。CGI サーブレットはデフォルトで無効になっています。CGI オプション enableCmdLineArguments は Tomcat 9.0.x でデフォルトで無効になっています。JRE の動作の詳細については、Markus Wulftange のブログと、アーカイブされたこちらの MSDN ブログを参照してください。
これはコミット 4b244d82 で修正されました。
この問題は Nightwatch Cybersecurity Research によって特定され、EU FOSSA-2 プロジェクトがスポンサーするバグバウンティプログラムを介して2019年3月3日に Apache Tomcat セキュリティチームに報告されました。この問題は2019年4月10日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.17
低:SSI printenv における XSS CVE-2019-0221
SSI の printenv コマンドは、ユーザー提供データをエスケープせずにエコーするため、XSS に対して脆弱です。SSI はデフォルトで無効になっています。printenv コマンドはデバッグ用であり、本番 Web サイトに存在することはほとんどありません。
これはコミット 15fcd166 で修正されました。
この問題は Nightwatch Cybersecurity Research によって特定され、EU FOSSA-2 プロジェクトがスポンサーするバグバウンティプログラムを介して2019年3月7日に Apache Tomcat セキュリティチームに報告されました。この問題は2019年5月17日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.17
2019年2月8日 Apache Tomcat 9.0.16 で修正済み
注:以下の問題は Apache Tomcat 9.0.15 で修正されましたが、9.0.15 リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するには 9.0.16 をダウンロードする必要がありますが、バージョン 9.0.15 は影響を受けるバージョンのリストに含まれていません。
重要:サービス拒否 CVE-2019-0199
HTTP/2 の実装は、過剰な数の SETTINGS
フレームを持つストリームを受け入れ、クライアントがリクエスト/レスポンスデータを読み書きせずにストリームを開いたままにすることを許可していました。Servlet API のブロッキング I/O を使用するリクエストに対してストリームを開いたままにすることで、クライアントはサーバー側スレッドをブロックさせ、最終的にスレッド枯渇と DoS につながる可能性がありました。
これはリビジョン 1852698、1852699、1852700、1852701、1852702、1852703、1852704、1852705、1852706、および a1cb1ac7 で修正されました。
この問題は2019年1月4日に Red Hat, Inc. の Michal Karm Babacek 氏から Apache Tomcat セキュリティチームに報告され、追加の問題が Tomcat セキュリティチームによって特定されました。この問題は2019年3月25日に公開されました。
影響を受けるバージョン:9.0.0.M1 から 9.0.14
2018年9月10日 Apache Tomcat 9.0.12 で修正済み
中程度:オープンリダイレクト CVE-2018-11784
デフォルトサーブレットがディレクトリへのリダイレクトを返した際(例えば、ユーザーが/foo
をリクエストした際に/foo/
にリダイレクトする場合)、特別に細工されたURLを使用することで、攻撃者が選択した任意のURIへのリダイレクトを生成させることが可能でした。
これはリビジョン1840055で修正されました。
この問題は2018年8月28日にSergey BobrovによってApache Tomcatセキュリティチームに報告され、2018年10月3日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.11
2018年6月25日 Apache Tomcat 9.0.10 で修正済み
低: WebSocketクライアントにおけるホスト名検証の欠落 CVE-2018-8034
WebSocketクライアントでTLSを使用する際のホスト名検証が欠落していました。現在はデフォルトで有効になっています。
これはリビジョン1833757で修正されました。
この問題は2018年6月11日に公開され、2018年7月22日に脆弱性として正式に発表されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.9
重要: 情報漏洩 CVE-2018-8037
アプリケーションが非同期リクエストを完了するのと同時にコンテナが非同期タイムアウトをトリガーした場合、競合状態が存在し、ユーザーが別のユーザー向けのリスポンスを目にする可能性がありました。NIOおよびNIO2コネクタには、非同期リクエストがアプリケーションによって完了し、同時にコンテナによってタイムアウトした場合に、接続のクローズを正しく追跡しないという追加の問題がありました。これにより、ユーザーが別のユーザー向けのリスポンスを目にする可能性もありました。
これはリビジョン1833825、1833831、1837530、および1833906で修正されました。
この問題は2018年6月16日にDmitry TreskunovによってApache Tomcatセキュリティチームに報告され、2018年7月22日に公開されました。
影響を受けるバージョン: 9.0.0.M9 から 9.0.9
未リリース Apache Tomcat 9.0.9 で修正済み
低: CORSフィルターのデフォルト設定が安全でない CVE-2018-8014
CORSフィルターのデフォルト設定は安全ではなく、すべてのオリジンに対してsupportsCredentials
を有効にします。CORSフィルターのユーザーは、デフォルト設定で使用するのではなく、各自の環境に合わせて適切に設定していると想定されます。したがって、ほとんどのユーザーはこの問題の影響を受けないと予想されます。
これはリビジョン1831726で修正されました。
この問題は2018年5月1日に公開され、2018年5月16日に脆弱性として正式に発表されました。
2018年5月3日 Apache Tomcat 9.0.8 で修正済み
重要: UTF-8デコーダのバグによりDoSが発生する可能性 CVE-2018-1336
補助文字を含むUTF-8デコーダにおける不適切なオーバーフロー処理により、デコーダ内で無限ループが発生し、サービス拒否(Denial of Service)を引き起こす可能性がありました。
これはリビジョン1830373で修正されました。
この問題は2018年4月6日に公開され、2018年7月22日に脆弱性として正式に発表されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.7
2018年2月11日 Apache Tomcat 9.0.5 で修正済み
重要: セキュリティ制約アノテーションの適用が遅すぎる CVE-2018-1305
サーブレットのアノテーションによって定義されたセキュリティ制約は、サーブレットがロードされた後にのみ適用されていました。この方法で定義されたセキュリティ制約はURLパターンとその下位のURLに適用されるため、サーブレットのロード順によっては、一部のセキュリティ制約が適用されない可能性がありました。これにより、承認されていないユーザーにリソースが公開されてしまう可能性がありました。
これはリビジョン1823310および1824323で修正されました。
この問題は2018年2月1日にApache Tomcatセキュリティによって特定され、2018年2月23日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.4
重要: コンテキストルートにマッピングされたセキュリティ制約が無視される CVE-2018-1304
セキュリティ制約定義の一部として使用された場合、コンテキストルートに正確にマッピングされる""(空文字列)のURLパターンが正しく処理されませんでした。これにより、制約が無視されました。したがって、保護されるべきウェブアプリケーションリソースに不正なユーザーがアクセスできるようになる可能性がありました。空文字列のURLパターンを持つセキュリティ制約のみが影響を受けました。
これはリビジョン1823306で修正されました。
この問題は2018年1月31日に62067として公開され、同日にApache Tomcatセキュリティチームによってセキュリティ上の影響が特定されました。2018年2月23日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.4
2017年11月30日 Apache Tomcat 9.0.2 で修正済み
低: CGI検索アルゴリズムのドキュメントが不正確 CVE-2017-15706
バグ61201の修正の一環として、CGIサーブレットが実行するスクリプトを特定するために使用する検索アルゴリズムの説明が更新されました。この更新は正確ではありませんでした。その結果、一部のスクリプトが期待通りに実行されず、他のスクリプトが予期せず実行された可能性があります。この点に関して、CGIサーブレットの動作自体は変更されていないことに注意してください。誤っていたのは動作のドキュメントのみであり、それが修正されました。
これはリビジョン1814825で修正されました。
この問題は2017年9月17日にJan Michael GreinerによってApache Tomcatセキュリティチームに報告され、2018年1月31日に公開されました。
影響を受けるバージョン: 9.0.0.M22 から 9.0.1
2017年9月30日 Apache Tomcat 9.0.1 で修正済み
重要: リモートコード実行 CVE-2017-12617
HTTP PUTが有効になっている場合(例: デフォルトサーブレットのreadonly
初期化パラメータをfalseに設定している場合)、特別に細工されたリクエストを介してJSPファイルをサーバーにアップロードすることが可能でした。そのJSPをリクエストすることで、含まれるコードがサーバーによって実行される可能性がありました。
これはリビジョン1809669、1809674、1809684、および1809711で修正されました。
この問題は2017年9月20日に最初に公開され、その後、複数の報告がApache Tomcatセキュリティチームに寄せられました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0
2017年6月26日 Apache Tomcat 9.0.0.M22 で修正済み
重要: セキュリティ制約バイパス CVE-2017-7675
HTTP/2の実装は、ディレクトリトラバーサル攻撃を防ぐ多数のセキュリティチェックをバイパスしました。したがって、特別に細工されたURLを使用することでセキュリティ制約をバイパスすることが可能でした。
これはリビジョン1796090で修正されました。
この問題は当初、2017年5月24日にバグ61120としてURLパスパラメータの処理の失敗として報告されました。同日にTomcatセキュリティチームによってこの問題の完全な影響が特定されました。この問題は2017年8月10日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M21
中: キャッシュポイズニング CVE-2017-7674
CORSフィルターは、レスポンスがOriginによって異なることを示すHTTP Varyヘッダーを追加しませんでした。これにより、特定の状況でクライアント側およびサーバー側のキャッシュポイズニングが許可されました。
これはリビジョン1795813で修正されました。
この問題は2017年5月16日にバグ61101として報告されました。同日にTomcatセキュリティチームによってこの問題の完全な影響が特定されました。この問題は2017年8月10日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M21
2017年5月10日 Apache Tomcat 9.0.0.M21 で修正済み
重要: セキュリティ制約バイパス CVE-2017-5664
Javaサーブレット仕様のエラーページメカニズムでは、エラーが発生し、そのエラーに対してエラーページが設定されている場合、元のリクエストとレスポンスがエラーページに転送されることが要求されます。これは、リクエストが元のHTTPメソッドでエラーページに提示されることを意味します。
エラーページが静的ファイルの場合、実際のHTTPメソッドに関わらず、GETリクエストを処理するかのようにファイルの内容を提供するのが期待される動作です。Tomcatのデフォルトサーブレットはこれを行いませんでした。元のリクエストによっては、静的なエラーページで予期せぬ、望ましくない結果につながる可能性があり、DefaultServletが書き込みを許可するように設定されている場合は、カスタムエラーページの置換または削除が含まれる可能性がありました。
ユーザー提供の他のエラーページに関する注意事項
- 明示的にコード化されていない限り、JSPはHTTPメソッドを無視します。エラーページとして使用されるJSPは、実際のメソッドに関わらず、エラーディスパッチをGETリクエストとして処理することを保証する必要があります。
- デフォルトでは、サーブレットによって生成されるレスポンスはHTTPメソッドに依存します。エラーページとして使用されるカスタムサーブレットは、実際のメソッドに関わらず、エラーディスパッチをGETリクエストとして処理することを保証する必要があります。
これはリビジョン1793468および1793487で修正されました。
この問題は2017年4月21日に、インド、ムンバイのTata Consultancy Services LtdのAniket Nandkishor Kulkarniにより、OPTIONSおよびTRACEリクエストの制限をバイパスできる脆弱性として、Apache Tomcatセキュリティチームに責任を持って報告されました。この問題の完全な影響は2017年4月24日にTomcatセキュリティチームによって特定されました。この問題は2017年6月6日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M20
2017年3月30日 Apache Tomcat 9.0.0.M19 で修正済み
重要: 情報漏洩 CVE-2017-5651
8.5.x以降のHTTPコネクタのリファクタリングにより、ファイル送信処理にリグレッションが導入されました。ファイル送信処理が迅速に完了した場合、プロセッサがプロセッサキャッシュに二重に追加される可能性がありました。これにより、同じプロセッサが複数のリクエストに使用され、その結果、予期せぬエラーやレスポンスの混同につながる可能性がありました。
これはリビジョン1788544で修正されました。
この問題は2017年3月24日にApache Tomcatセキュリティチームによって特定され、2017年4月10日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M18
重要: サービス拒否 CVE-2017-5650
接続に対するHTTP/2 GOAWAYフレームの処理が、アプリケーションがさらにデータを書き込むことを許可する前に、WINDOW_UPDATEを待機していた接続に関連付けられたストリームを閉じませんでした。これらの待機中のストリームはそれぞれスレッドを消費しました。したがって、悪意のあるクライアントは、利用可能なすべての処理スレッドを消費する一連のHTTP/2リクエストを構築することができました。
これはリビジョン1788460で修正されました。
この問題は2017年3月11日にChun Han HsiaoによってApache Tomcatセキュリティチームに報告され、2017年4月10日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M18
重要: 情報漏洩 CVE-2017-5647
ファイル送信が使用された場合のパイプラインリクエストの処理におけるバグにより、前のリクエストのファイル送信処理が完了したときにパイプラインリクエストが失われました。これにより、間違ったリクエストに対してレスポンスが送信されたように見える可能性がありました。例えば、リクエストA、B、Cを送信したユーザーエージェントは、リクエストAに対しては正しいレスポンスを、リクエストBに対してはリクエストCのレスポンスを、リクエストCに対してはレスポンスなしを目にする可能性がありました。
これはリビジョン1788890で修正されました。
この問題は2017年3月20日にApache Tomcatセキュリティチームによって特定され、2017年4月10日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M18
2017年3月13日 Apache Tomcat 9.0.0.M18 で修正済み
低: 情報漏洩 CVE-2017-5648
バグ60718の調査中に、アプリケーションリスナーへの一部の呼び出しが適切なファサードオブジェクトを使用していないことが判明しました。SecurityManagerの下で信頼されていないアプリケーションを実行している場合、その信頼されていないアプリケーションがリクエストまたはレスポンスオブジェクトへの参照を保持し、それによって別のウェブアプリケーションに関連する情報にアクセスしたり、変更したりすることが可能でした。
これはリビジョン1785774で修正されました。
この問題は2017年3月20日にApache Tomcatセキュリティチームによって特定され、2017年4月10日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M17
2017年1月16日 Apache Tomcat 9.0.0.M17 で修正済み
注意:以下の問題はApache Tomcat 9.0.0.M16で修正されましたが、9.0.0.M16リリース候補のリリース投票は通過しませんでした。したがって、この問題の修正を含むバージョンを入手するにはユーザーは9.0.0.M17をダウンロードする必要がありますが、バージョン9.0.0.M16は影響を受けるバージョンのリストに含まれていません。
中: 情報漏洩 CVE-2016-8747
ByteBufferのより広範な使用を可能にするためのリファクタリングにより、同じ接続上のリクエスト間で情報が漏洩する可能性のあるリグレッションが導入されました。リバースプロキシの背後で実行されている場合、これによりユーザー間で情報が漏洩する可能性がありました。すべてのHTTPコネクタのバリアントが影響を受けますが、HTTP/2とAJPは影響を受けません。
これはリビジョン1774161で修正されました。
この問題は2016年12月14日にApache Tomcatセキュリティチームによって特定され、2017年3月13日に公開されました。
影響を受けるバージョン: 9.0.0.M11 から 9.0.0.M15
2016年12月8日 Apache Tomcat 9.0.0.M15 で修正済み
注意:以下の問題はApache Tomcat 9.0.0.M14で修正されましたが、9.0.0.M14リリース候補のリリース投票は通過しませんでした。したがって、この問題の修正を含むバージョンを入手するにはユーザーは9.0.0.M15をダウンロードする必要がありますが、バージョン9.0.0.M14は影響を受けるバージョンのリストに含まれていません。
重要: 情報漏洩 CVE-2016-8745
NIO HTTPコネクタのファイル送信コードのエラー処理におけるバグにより、現在のプロセッサオブジェクトがプロセッサキャッシュに複数回追加されました。これにより、同じプロセッサが同時リクエストに使用される可能性がありました。プロセッサを共有すると、セッションIDやレスポンスボディを含む(ただしこれらに限定されない)リクエスト間の情報漏洩が発生する可能性があります。
これはリビジョン1771853で修正されました。
この問題は2016年12月8日にApache Tomcatセキュリティチームによって特定され、2016年12月12日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M13
2016年11月8日 Apache Tomcat 9.0.0.M13 で修正済み
注意:以下の問題はApache Tomcat 9.0.0.M12で修正されましたが、9.0.0.M12リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するにはユーザーは9.0.0.M13をダウンロードする必要がありますが、バージョン9.0.0.M12は影響を受けるバージョンのリストに含まれていません。
重要: リモートコード実行 CVE-2016-8735
JmxRemoteLifecycleListener
は、OracleのCVE-2016-3427に対する修正を考慮して更新されていませんでした。したがって、このリスナーを使用しているTomcatのインストールは、同様のリモートコード実行の脆弱性に対して脆弱なままでした。この問題は、このリスナーを使用しているインストールの数が少なく、リスナーが使用されている場合でもJMXポートが攻撃者からアクセス可能であることは非常に稀であるため、クリティカルではなく重要として評価されています。
これはリビジョン1767644で修正されました。
この問題は2016年10月19日にApache Tomcatセキュリティチームに報告され、2016年11月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M11
重要: サービス拒否 CVE-2016-6817
HTTP/2ヘッダパーサーは、利用可能なバッファよりも大きなヘッダを受信した場合、無限ループに陥りました。これにより、サービス拒否攻撃が可能になりました。
これはリビジョン1765794で修正されました。
この問題は2016年10月10日に60232として報告され、同日にApache Tomcatセキュリティチームによってセキュリティ上の影響が特定されました。2016年11月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M11
重要: 情報漏洩 CVE-2016-6816
HTTPリクエスト行を解析するコードが不正な文字を許可していました。これは、不正な文字を許可するが異なる解釈をするプロキシと組み合わせて悪用され、HTTPレスポンスにデータを注入することが可能でした。HTTPレスポンスを操作することで、攻撃者はウェブキャッシュを汚染したり、XSS攻撃を実行したり、自分以外のリクエストから機密情報を取得したりすることができました。
これはリビジョン1767641で修正されました。
この問題は2016年10月11日にApache Tomcatセキュリティチームに報告され、2016年11月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M11
2016年9月5日 Apache Tomcat 9.0.0.M10 で修正済み
低: グローバルリソースへの無制限アクセス CVE-2016-6797
ResourceLinkFactoryは、ウェブアプリケーションによるグローバルJNDIリソースへのアクセスを、ウェブアプリケーションに明示的にリンクされたリソースに限定していませんでした。したがって、明示的なResourceLinkが設定されているかどうかにかかわらず、ウェブアプリケーションが任意のグローバルJNDIリソースにアクセスすることが可能でした。
これはリビジョン1757271で修正されました。
この問題は2016年1月18日にApache Tomcatセキュリティチームによって特定され、2016年10月27日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M9
低: Security Managerバイパス CVE-2016-6796
悪意のあるウェブアプリケーションは、JSPサーブレットの設定パラメータを操作することにより、設定されたSecurityManagerをバイパスすることができました。
これはリビジョン1758487および1763232で修正されました。
この問題は2015年12月27日にApache Tomcatセキュリティチームによって特定され、2016年10月27日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M9
低: システムプロパティの開示 CVE-2016-6794
SecurityManagerが設定されている場合、ウェブアプリケーションがシステムプロパティを読み取る能力はSecurityManagerによって制御されるべきです。Tomcatの構成ファイルのシステムプロパティ置換機能は、悪意のあるウェブアプリケーションによってSecurityManagerをバイパスし、表示されるべきではないシステムプロパティを読み取るために使用される可能性がありました。
これはリビジョン1754445で修正されました。
この問題は2015年12月27日にApache Tomcatセキュリティチームによって特定され、2016年10月27日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M9
低: Security Managerバイパス CVE-2016-5018
悪意のあるウェブアプリケーションは、ウェブアプリケーションからアクセス可能なTomcatユーティリティメソッドを介して、設定されたSecurityManagerをバイパスすることができました。
これはリビジョン1754714および1760300で修正されました。
この問題はHP Enterprise Security TeamのAlvaro MunozとAlexander Miroshによって発見され、2016年7月5日にApache Tomcatセキュリティチームに報告されました。2016年10月27日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M9
低: タイミング攻撃 CVE-2016-0762
Realmの実装は、指定されたユーザー名が存在しない場合、提供されたパスワードを処理しませんでした。これにより、有効なユーザー名を特定するためのタイミング攻撃が可能になりました。デフォルト設定にはLockOutRealmが含まれており、この脆弱性の悪用を困難にしていることに注意してください。
これはリビジョン1758499で修正されました。
この問題は2016年1月1日にApache Tomcatセキュリティチームによって特定され、2016年10月27日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M9
2016年6月13日 Apache Tomcat 9.0.0.M8 で修正済み
注意:以下の問題はApache Tomcat 9.0.0.M7で修正されましたが、9.0.0.M7リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するにはユーザーは9.0.0.M8をダウンロードする必要がありますが、バージョン9.0.0.M7は影響を受けるバージョンのリストに含まれていません。
中: サービス拒否 CVE-2016-3092
Apache Tomcatは、サーブレット仕様のファイルアップロード要件を実装するために、Apache Commons FileUploadのパッケージ名を変更したコピーを使用しています。Commons FileUploadにおいて、マルチパートの境界の長さがアップロードファイルの読み取りに使用されるバッファ(4096バイト)のサイズをわずかに下回った場合に発生するサービス拒否の脆弱性が特定されました。これにより、ファイルアップロード処理が、境界が一般的な数十バイトである場合よりも数桁長くかかる原因となりました。
これはリビジョン1743700で修正されました。
この問題はTERASOLUNA Framework Development Teamによって特定され、2016年5月9日にJPCERTを介してApache Commonsチームに報告されました。2016年6月21日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M6
2016年1月5日 Apache Tomcat 9.0.0.M3 で修正済み
中: Security Managerバイパス CVE-2016-0763
この問題は、Security Managerの下で信頼されていないウェブアプリケーションを実行しているユーザーにのみ影響します。
ResourceLinkFactory.setGlobalContext()
は公開メソッドであり、Security Managerの下で実行されている場合でもウェブアプリケーションからアクセス可能でした。これにより、悪意のあるウェブアプリケーションが、悪意のあるグローバルコンテキストを注入することを可能にし、それが他のウェブアプリケーションを妨害したり、他のウェブアプリケーションが所有するデータを読み書きしたりするために使用される可能性がありました。
これはリビジョン1725926で修正されました。
この問題は2016年1月18日にTomcatセキュリティチームによって特定され、2016年2月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1 から 9.0.0.M2
注意:以下の問題はApache Tomcat 9.0.0.M2で修正されましたが、9.0.0.M2リリース候補のリリース投票は通過しませんでした。したがって、これらの問題の修正を含むバージョンを入手するにはユーザーは9.0.0.M3をダウンロードする必要がありますが、バージョン9.0.0.M2は影響を受けるバージョンのリストに含まれていません。
低: ディレクトリ開示 CVE-2015-5345
スラッシュで終わらないURLを使用してセキュリティ制約によって保護されたディレクトリにアクセスした場合、Tomcatはセキュリティ制約を処理する前に末尾のスラッシュを持つURLにリダイレクトし、それによってディレクトリの存在を確認していました。したがって、ユーザーがディレクトリを閲覧する権限がなくても、ディレクトリが存在するかどうかを判断することが可能でした。この問題はウェブアプリケーションのルートでも発生し、その場合、ユーザーがアクセス権を持っていなくても、ウェブアプリケーションの存在が確認されました。
解決策は、DefaultServletでリダイレクトを実装し、セキュリティ制約やセキュリティ強制フィルターがリダイレクトの前に処理されるようにすることでした。Tomcatチームは、リダイレクトの移動がリグレッションを引き起こす可能性があることを認識し、2つの新しいContext設定オプション(mapperContextRootRedirectEnabled
とmapperDirectoryRedirectEnabled
)を導入しました。当初はより安全であるため、両方ともデフォルトはfalse
でした。しかし、バグ 58765などのリグレッションにより、ウェブアプリケーションが特定のパスにデプロイされているかどうかを判断できることに関連するセキュリティリスクよりもリグレッションの方が深刻であると見なされたため、mapperContextRootRedirectEnabled
のデフォルトは後にtrueに変更されました。
これはリビジョン1715206、1716882、および1716894で修正されました。
この問題は2015年10月12日にQCSecのMark Koekによって特定され、2016年2月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1
低: セッション固定 CVE-2015-5346
新しいリクエストに使用するためにRequest
オブジェクトを再利用する際に、requestedSessionSSL
フィールドが再利用されませんでした。これにより、再利用されたRequest
オブジェクトを使用して処理される次のリクエストで提供されたセッションIDが、本来使用されるべきでない場合に使用される可能性がありました。これはクライアントにセッションIDを制御する能力を与えました。理論的には、これはセッション固定攻撃の一部として使用される可能性がありましたが、攻撃者が被害者に「正しい」Request
オブジェクトの使用を強制することができなかったため、達成は困難だったでしょう。また、少なくとも1つのウェブアプリケーションが、SSLセッションIDをHTTPセッションIDとして使用するように設定されている必要がありました。これは一般的な設定ではありません。
これはリビジョン1713184および1723414で修正されました。
この問題は2014年6月22日にTomcatセキュリティチームによって特定され、2016年2月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1
中: CSRFトークン漏洩 CVE-2015-5351
ManagerおよびHost Managerアプリケーションのインデックスページは、ウェブアプリケーションのルートへの未認証リクエストの結果としてリダイレクトを発行する際に、有効なCSRFトークンを含んでいました。攻撃者がManagerまたはHost Managerアプリケーションにアクセスできた場合(通常、これらのアプリケーションは内部ユーザーにのみアクセス可能で、インターネットには公開されていない)、このトークンは攻撃者によってCSRF攻撃を構築するために使用される可能性がありました。
これはリビジョン1720652および1720655で修正されました。
この問題は2015年12月8日にTomcatセキュリティチームによって特定され、2016年2月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1
低: Security Managerバイパス CVE-2016-0706
この問題は、Security Managerの下で信頼されていないウェブアプリケーションを実行しているユーザーにのみ影響します。
Security Managerが設定されている場合、悪意のあるウェブアプリケーションが内部StatusManagerServletをロードすることができました。このサーブレットは、悪意のあるウェブアプリケーションに、デプロイされているすべてのアプリケーションのリストと、現在処理中のすべてのリクエストのHTTPリクエストラインのリストを提供することができました。これにより、セッションIDなどの他のウェブアプリケーションからの機密情報が、ウェブアプリケーションに公開されてしまった可能性があります。
これはリビジョン1722799で修正されました。
この問題は2015年12月27日にTomcatセキュリティチームによって特定され、2016年2月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1
中: Security Managerバイパス CVE-2016-0714
この問題は、Security Managerの下で信頼されていないウェブアプリケーションを実行しているユーザーにのみ影響します。
Tomcatはいくつかのセッション永続化メカニズムを提供しています。StandardManager
は再起動時にセッションを永続化します。PersistentManager
はセッションをファイル、データベース、またはカスタムのStore
に永続化できます。クラスタ実装はセッションをクラスタ内の1つ以上の追加ノードに永続化します。これらのメカニズムはすべて、Security Managerをバイパスするために悪用される可能性がありました。セッション永続化は、Tomcat内部コードに割り当てられた権限を持つTomcatコードによって実行されます。巧妙に細工されたオブジェクトをセッションに配置することで、悪意のあるウェブアプリケーションが任意のコードの実行をトリガーすることができました。
これはリビジョン1725263および1725914で修正されました。
この問題は2015年11月12日にTomcatセキュリティチームによって特定され、2016年2月22日に公開されました。
影響を受けるバージョン: 9.0.0.M1
Tomcat の脆弱性ではない
緊急: log4j経由のリモートコード実行 CVE-2021-44228
Apache Tomcat 9.0.xは、いかなるバージョンのlog4jにも依存していません。
Apache Tomcatにデプロイされたウェブアプリケーションは、log4jに依存している場合があります。この場合、アプリケーションベンダーにサポートを求める必要があります。
Apache Tomcat 9.0.xを、Tomcatの内部ロギングにlog4j 2.xを使用するように構成することは可能です。これには明示的な構成とlog4j 2.xライブラリの追加が必要です。Tomcatの内部ロギングをlog4j 2.xに切り替えたユーザーは、この脆弱性に対処する必要がある可能性が高いです。
ほとんどの場合、問題のある機能を無効にすることが最も簡単な解決策となるでしょう。その方法は、使用しているlog4j 2.xの正確なバージョンによって異なります。詳細はlog4j 2.xセキュリティページで提供されています。