Tomcat 10.1.55 のリリースノート

このドキュメントは 2026 年 5 月 11 日にリリースされた Tomcat 10.1.55 のリリースノートの日本語訳です。
ダウンロードは Tomcat ダウンロードより行えます。
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。

脆弱性修正

* セキュリティ制限が正しく適用されない問題が修正されました。複数のセキュリティ制約で同一の拡張子パターンに対する HTTP メソッド制約が定義されている場合、最初のメソッド制約のみが適用され、他の制約は適用されませんでした。(CVE-2026-43515)

*AJP シークレットの比較処理が非定数時間で実行されることにより、ローカルネットワーク上の攻撃者によるタイミング攻撃によって、AJP シークレットが推測される可能性がある問題が修正されました。(CVE-2026-43514)

* LockOutRealm がユーザー名を大文字・小文字を区別して処理していたため、ユーザー名を大文字・小文字を区別せず扱う Realm 環境において、ユーザーパスワードに対するブルートフォース攻撃の防止機能が十分に機能しない問題が修正されました。(CVE-2026-43513)

* DIGEST 認証が設定されている環境において、設定された Realm に存在しないユーザーであっても、パスワードとして “null” を指定することで認証されてしまう問題が修正されました。(CVE-2026-43512)

* 認証後に WebSocket リクエストがリダイレクトされた場合、Tomcat の WebSocket クライアントが最新の認証ヘッダーをリダイレクト先ホストへ送信してしまう問題が修正されました。(CVE-2026-42498)

* HTTP/2 リクエストヘッダーの検証が行われていなかったため、Servlet API 経由で取得されるヘッダー値が仕様に準拠していることを前提としたアプリケーションにおいて、予期しない動作が発生する可能性がある問題が修正されました。(CVE-2026-41293)

* 認証されていないユーザーが利用可能な WebDAV の LOCK および PROPFIND リクエストにおいて、リクエストボディサイズに制限が設定されていなかった問題が修正されました。(CVE-2026-41284)

不具合修正(Catalina)

* 前回リリースで発生していたリグレッションにより、クエリ文字列が空の場合にアクセスログへ「?」ではなく「?-」が出力される問題が修正されました。

* WebDAV の DELETE において、前提条件失敗時に正しく失敗するよう修正されました。

* ExtendedAccessLogValve のエスケープ処理が、他の AccessLogValve 実装と一致するよう修正されました。

* 69967 の修正後に発生していた、コミット後レスポンス内で特殊ヘッダーが重複する問題が修正されました。(70000)

* 認証済みユーザー全員を対象とする特殊ロール「**」のみを指定したセキュリティ制約にマッピングされた URI の処理が修正されました。認証なしリクエストに対して、本来の 401 ではなく 403 が返却される問題が修正されました。

* StandardContext.getServletContext() における競合状態が修正され、コンテキスト再読み込み時に jakarta.servlet.context.tempdir 属性が失われる問題が解消されました。context フィールドは volatile 化され、ロックにより ApplicationContext インスタンスが 1 つのみ生成されるようになりました。

* Windows 認証(Kerberos)のドキュメントが更新され、Java および Windows の双方で RC4-HMAC サポートが廃止されつつある/既に廃止されたことが反映されました。ガイドでは AES256-SHA1 を使用するようになりました。

* WebDAV に新しい初期化パラメータ maxRequestBodySize が追加され、LOCK および PROPFIND における WebDAV リクエストボディサイズを制限できるようになりました。デフォルト値は 4096 バイトです。

* DIGEST 認証における無効ユーザーの処理が修正されました。

* RealmBase が拡張子ベースのセキュリティ制約をすべて正しく検出できるよう修正されました。

不具合修正(Coyote)

* setHeader(String,String) または addHeader(String,String) により無効な Content-Length が設定された場合でも、常に以前の値をクリアし、無効な新値を無視することで、さまざまなエッジケースを回避するようになりました。

* HTTP/2 における一部ストリームエラーメッセージの細かな問題が修正されました。

* 正規化処理時に NULL バイトを含む URI を一貫して拒否するよう修正されました。

* FFM 使用時に TLS キーおよび証明書読み込みエラーパスで発生する軽微なメモリリークが修正されました。

* HTTP/2 ヘッダー処理後のクリーンアップ処理がリファクタリングされ、ストリームリセット後の GC 効率が向上しました。

* HTTP/2 の trailer フィールド処理が HTTP/1.1 と整合するよう修正され、trailer で許可されていないフィールドが除外されるようになりました。

* FFM ベースのコネクタ設定において、使用後に秘密鍵を解放するよう修正されました。

* HTTP/2 の HPACK ヘッダーデコード処理における稀なパース不具合が修正され、有効なヘッダーによって予期しない接続切断が発生する問題が解消されました。

* HTTP/2 HPACK エンコード処理がリファクタリングされ、ヘッダーフィールド名の小文字変換が 1 回のみ行われるようになりました。

* HTTP/2 ヘッダーフィールド検証処理が前倒しで実施されるようになり、大文字だけでなく禁止文字についても検証されるようになりました。

* OpenSSL 4.0 で追加された TLS 1.3 グループに対応しました。

* HTTP/2 の :scheme 擬似ヘッダーが TLS 使用有無と整合していることを検証するようになりました。

* 擬似ヘッダーおよび CONNECT リクエストの検証処理が RFC 9113 セクション 8.5 に準拠するよう修正されました。

* 接続レベルのウィンドウ更新から個別 HTTP/2 ストリームへ容量割り当てを行う際に発生し得た整数オーバーフロー問題が修正されました。

* AJP シークレット比較処理が定数時間アルゴリズムへ変更されました。

不具合修正(WebSocket)

* DIGEST 認証を必要とするプロキシ経由で WebSocket エンドポイントへ初回接続する際の問題が修正されました。

不具合修正(Other)

* CDDL 1.0 ライセンス URLが更新されました。(69993)

機能追加・改良(Catalina)

* version.sh および version.bat にて、APR / Tomcat Native / OpenSSL のバージョン情報(APR および FFM 実装の両方)や、バージョン互換性警告、サードパーティライブラリのバージョン情報が表示されるようになりました。

* アクセスログの remote user 要素生成処理がリファクタリングされ、不要なコードが削除されました。

* LockOutRealm に新しい caseSensitive 属性が追加され、ロック判定時のユーザー名の扱いを制御できるようになりました。デフォルトは false で、ユーザー名は大文字小文字を区別せず扱われます。

機能追加・改良(Coyote)

* HPACK 動的ヘッダーテーブル実装における実インデックス計算処理がリファクタリングされ、コード重複が削減されました。

機能追加・改良(Other)

* OpenSSL バイナリが見つからない場合に警告を表示するようになりました。

* Tomcat Native ライブラリの存在チェックが追加され、利用されていない場合に警告ログを出力するようになりました。これにより、スイートで利用されていないことを把握しやすくなりました。

* Byte Buddy が 1.18.8 に更新されました。

* Bouncy Castle が 1.84 に更新されました。

* フランス語翻訳が改善されました。

* 日本語翻訳改善が反映されました。

詳細は以下をご覧ください。

https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.55_(schultz)
https://tomcat.apache.org/security-10.html#Fixed_in_Apache_Tomcat_10.1.55