Tomcat 10.1.0 のリリースノート

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

脆弱性修正

* ドキュメント Web アプリケーションが更新され、EncryptInterceptor は、信頼できないネットワーク上で Tomcat のクラスタリングを実行するための充分な保護は提供していないことが記載されました。これは、充分な保護を提供できると記載していた問題 CVE-2022-29885 に対する修正です。(CVE-2022-29885)

* Examples: サンプルの Web アプリケーションのフォーム認証で重大度の低い XSS 脆弱性が修正されました。(CVE-2022-34305)

不具合修正(Catalina)

* 同名の HTTP ヘッダのインスタンスが複数ある場合の HTTP TRACE リクエストの処理が修正されました。

* RFC 7231 の要件が実装され、HTTP TRACE リクエストの応答に機密データを含むヘッダが入らないようになりました。

* HTTP 範囲指定子の単位は大文字小文字の区別がされるという RFC 9110 の記述が実装されました。

* MemoryUserDatabase が XML ファイルに書き出される際にロールとグループの情報が適切にエスケープされるようになりました。

* XML-export ロジックの制御が個々のサポートクラスから MemoryUserDatabase.save() に移動されました。MemoryUser, MemoryRole, MemoryGroup が非推奨となり使用されなくなりました。

* Cookie 値をアクセスログ valve にログ出力し、同名の複数の Cookie がある場合、最初の Cookie 値だけでなく全ての Cookie 値がログ出力されるようになりました。(66183)

* JULI の root logger がデフォルトのレベル INFO となることが保証されました。(66184)

* SSI 式のパーシングの際のスタックオーバーフローエラーの処理が改善されました。

* 認証の処理中にセッションの保持と復元が発生した場合に FORM 認証が正しく動作するようになりました。(66120)

* リクエストの持つ Cookie が多すぎる時の 400 応答を送付する際、エラーメッセージもふくめられるようになりました。(66233)

* JAR が重複したフラグメント名を持つことにより、Web アプリケーションのデプロイメントに失敗した場合、重複が含まれている JAR の一覧を示すようにエラーメッセージが改善されました。

* JULI の AsyncFileHandler 用のログ出力スレッドが、ログ出力の失敗に対して保護を行う executor に置き換えられました。

不具合修正(Coyote)

* Hashtables のリファクタリングによるリグレッションが修正されました。このリグレッションにより、mbean の多くの属性が失われるという問題が発生していました。

* Java 20 の API 変更に対して OpenSSL Panama モジュールが用意されました。

* 66236 に対する前の修正でのリグレッションが修正されました。

* UNIX ドメインソケットを使用している際の重複した受付の検査をスキップすることで、潜在的な NPE が回避されました。

* CRCRLF を有効な行末指示子として扱うことを許す HTTP ヘッダパーシングでの例外的な場合の対処が行われました。

* 接続固有のヘッダを含む HTTP/2 リクエストが拒絶されることが保証されるようになりました。

* HTTP/2 リクエストの処理の際、:authority ヘッダの代わりに host ヘッダを使用することが可能になりました。

* HTTP/2 リクエストの処理の際、一個の host ヘッダと一個の :authority ヘッダは一貫性を保つように存在することが可能になりました。

* HTTP/2 リクエストの処理の際、複数の host ヘッダを含むリクエストが拒絶されるようになりました。

* Content-Disposition ヘッダ中の不正なファイル名のディレクティブのパーシングがより堅牢になりました。不正なファイル名のディレクティブは 500 応答を発生させるのではなく無視されるようになりました。

* HTTP/2 ストリームのクローズ(通常クライアントのエラーにより引き起こされる)を UserDataHelper 経由でログ出力する動作が、パーシングの問題や制限超えについての HTTP/1.1 の動作に概ね揃えられました。(66194)

* HTTP/1.1 が HTTP/2 に揃えられ、コードポイントが 255 より大きい文字を一個あるは複数個含むヘッダ値を伴う応答をコミットすることを試みる際に、例外を投げるようになりました。(66196)

* TLS リネゴシエーションと共に使用される Connector の maxSavePostSize を設定する際の特別な値ゼロと -1 のサポートが実装されました。(66236)

* オクテットをパーシングする際の int のオーバーフローが、最大値を 255 に制限することで回避されました。(66240)

* Servlet が、リクエスト本体を読むことなしに 2xx 応答を返すことを期待してリクエストに応答する場合が正しく処理されるようになりました。(#550)

* HTTP/2 プリフェイスとの照合の際の誤ったチェックを修正することで、潜在的な IndexOutOfBoundsException が回避されました。(#551)

不具合修正(Jasper)

* EL 式をパーシングする際のスタックオーバーフローエラーの処理が改善されました。

* EL 式中の整数と浮動小数点のリテラルのパーシングが修正され、より大きな値がそれぞれ、BigInteger と BigDecimal に正しくパースされるようになりました。

* Graal 用に使用される bean リゾルバに関する様々な問題が修正されました。(66235)

* Expression Language 実装の ImportHandler の性能が改善されました。この改善では、役に立つどころか有害になってしまった以前の最適化は削除されています。

* EL のエラーメッセージの処理が改善され、Number のインスタンスが予期しない仕方でフォーマットされることがなくなりました。

* EL 算術演算中に型変換に失敗した場合、IllegalArgumentException ではなく ELException を使うように切り換えられました。これは、EL のエラーなので ELException がより適切です。

* MethodExpression の処理のバグが修正されました。このバグは、static メソッドを直接クラスに対して起動するのではなく、クラスのインスタンスに対して起動したときにエラーを引き起こしていました。

* EL 式の一部として BigInteger のインスタンスに対する剰余演算を行う場合、BigInteger.mod() ではなく BigInteger.remainder() が使われるようになりました。

不具合修正(Cluster)

* 将来、新たな機能が追加された場合に備えて、DeltaRequest に認識できないアクションタイプが渡された場合、IllegalArgumentException を投げるのではなく、警告メッセージがログ出力されるようになりました。

* 認証の処理中にセッションのフェールオーバが発生した場合に FORM 認証が正しく動作するようになりました。(66120)

不具合修正(Other)

* Zip アーカイブがファイル変更時刻として UTC を使用することが保証され、これにより、タイムゾーンが異なっても同じビルドになることが保証されました。

機能追加・改良(Coyote)

* Java 20 の広範におよぶ変更に対して Panama OpenSSL コードがアップデートされました。

機能追加・改良(Jasper)

* JSP コンパイラがコード生成用の出力ディレクトリを作成することができない場合のエラーメッセージをログ出力するようになりました。(66203)

機能追加・改良(WebSocket)

* 認証を必要とするフォワードプロキシ経由で WebSocket エンドポイントに接続を確立する際の、WebSocket クライアントの HTTP フォワードプロキシとの認証がサポートされました。(62312)

機能追加・改良(Other)

* ビルドプロセスの自動化が進められ、リリースマネージャが行わなければならない手動操作のステップ数が削減されました。

* Jakarta EE ライブラリ用の Apache Tomcat マイグレーションツールが 1.0.4 に更新されました。

* 中国語翻訳が改善されました。

* チェコ語翻訳が改善されました。

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

* ドイツ語翻訳が改善されました。

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

* 韓国語翻訳が改善されました。

* ブラジルのポルトガル語翻訳が改善されました。

* ロシア語翻訳が改善されました。

* スペイン語翻訳が改善されました。

* Jakarta EE ライブラリ用の Apache Tomcat マイグレーションツールが 1.0.3 に更新されました。

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

https://tomcat.apache.org/security-10.html#Fixed_in_Apache_Tomcat_10.1.0-M17

https://tomcat.apache.org/security-10.html#Fixed_in_Apache_Tomcat_10.1.0-M15

https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.0_(markt)