Tomcat 8.5.89 のリリースノート

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

脆弱性修正

* 情報漏洩 CVE-2023-34981: バグ 66512 の修正により、バグ 66591 として修正されたリグレッションが入り込んでいました。このリグレッションにより、レスポンスに HTTP ヘッダが何も設定されていない場合、AJP の SEND_HEADERS メッセージが送信されず、さらにそのことにより、少なくとも一つの AJP ベースのプロキシ (mod_proxy_ajp) が、現在のリクエストに対して直前のリクエストのレスポンスヘッダを使用してしまい、情報漏洩につながっていました。この問題が修正されました。(CVE-2023-34981)

不具合修正(Catalina)

* Tomcat のコードが URL ではなく URI を使って変換された後の IllegalArgumentException が欠けていた問題が修正されました。(66567)

* SimpleDateFormat が使用されている場合、AccessLogValve でタイムスタンプの出力がエスケープされるようになりました。SimpleDateFormat には、エスケープが必要な文字がそのまま含まれているためです。

* ファイルロック保護やマネージャサーブレットを使用した場合、ファイルの一部しかコピーせず壊れたファイルとなってしまう問題が修正されました。(#613)

不具合修正(Coyote)

* HTTP ヘッダのパーシングで極端なケースでの問題が修正されました。また、名前のない HTTP ヘッダは不正であるとして処理されるようになりました。

* 66512 に対する修正で入り込んだリグレッションが修正されました。この問題は、AJP の Send Headers が、HTTP ヘッダが全く設定されていないレスポンスに対しては送付されないというものでした。(66591)

不具合修正(Jasper)

* JSP の static import を EL コンテキストに追加する際、EL の方が JSP よりも static import に対する要件が厳格になっていました。この問題が修正されました。(66582)

不具合修正(WebSocket)

* WebSocket のセッションクローズがリファクタリングされ、SocketWrapper に対するロックが削除されました。このロックは、アプリケーションコードがシミュレートされたブロッキングを使用している場合にデッドロックを引き起こす可能性がありました。(66574)

* 圧縮変換でユーザにより提供されるバッファの背後の配列をチェックなしで使用することが回避されるようになりました。(66575)

* WebSocket のセッションクローズ中のバッチ投入されたメッセージのフラッシュ時の例外処理が改善されました。

* AsyncChannelGroupUtil が更新され、AsynchronousChannelGroup の現在のデフォルトに揃えられました。(66581)

機能追加・改良(Catalina)

* AccessLogValve の垂直タブの出力が \v から \u000b に変更されました。

* AccessLogValve のエスケープ処理の性能がおおよそ 2 倍程度に改善されました。

* JsonAccessLogValve が改善され、ヘッダや属性などのより多くのパターンがサポートされるようになりました。これらは、サブオブジェクトとしてログ出力されます。

* DoS 攻撃および総当たり攻撃を緩和するための RateLimitFilter が追加されました。

機能追加・改良(Coyote)

* Java 21 で導入された、新たな文字セット gb18030-2022 のサポートが文字セットキャッシュ機構に追加されました。

* HTTP Connector の属性 allowHostHeaderMismatch のデフォルト値が true から false に変更され、デフォルトの設定が強化されました。

* HTTP Connector の属性 rejectIllegalHeader のデフォルト値が false から true に変更され、デフォルトの設定が強化されました。

* HTTP Connector の設定 rejectIllegalHeader と allowHostHeaderMismatch が、Tomcat 11 以降では削除されるので、非推奨となりました。

機能追加・改良(Other)

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

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

* Checkstyle が 10.10.0 に更新されました。

* Jacoco が 0.8.10 に更新されました。

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

https://tomcat.apache.org/security-8.html#Fixed_in_Apache_Tomcat_8.5.89

https://tomcat.apache.org/tomcat-8.5-doc/changelog.html#Tomcat_8.5.89_(schultz)