Apache httpd 2.4.50 のリリースノート

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

脆弱性修正

* Apache HTTP Server 2.4.49 のパス正規化に対して行われた変更に欠陥が発見されました。攻撃者はパストラバーサル攻撃を使って、URL を想定されるドキュメントルートの外側のファイルにマップさせることができました。ドキュメントルートの外側のファイルが “require all denied” によって保護されていない場合、これらのリクエストが成功します。さらに、この欠陥により、CGI スクリプトなどのインタプリタにより解釈されるファイルのソースが漏洩する可能性がありました。この問題は実際に悪用されていることが知られています。また、この問題は Apache 2.4.49 にだけ影響し、それより前のバージョンには影響しません。(CVE-2021-41773)

* 2.4.49 httpd のファジーテストで、HTTP/2 リクエスト処理中に新たなヌルポインタ逆参照が発見されました。これは外部ソースがサーバを DoS の対象とすることを許すものでした。そのためには特別に細工されたリクエストが必要です。この脆弱性はバージョン 2.4.49 で導入されたものです。実際に利用された例は知られていません。(CVE-2021-41524)

不具合修正

* core: AP_NORMALIZE_DECODE_UNRESERVED は、uri-path 中の第二のドットを、その前にドットがある場合は正規化すべきではありませんでした。この問題が修正されました。

* mod_md: ‘challenge-setup:<type>:<dnsname>’ に対する MDMessageCmd が失敗した場合(終了コードが 0 以外)、リニューアルプロセスがアボートし、エラーが MDomain に報告されていました。
これは、クラスタ中での情報を配布するスクリプトを提供し、動作しない DNS 名を検証する ACME サーバを煩わせながら、早期にアボートを行います。
共通のリトライのロジックにより、他が失敗した場合、将来、もう一度試みます。既に動作している MDomain に秘密鍵のスペックを追加する際のバグが修正されました。<https://github.com/icing/mod_md/issues/260> も参照してください。

* mod_proxy: ホスト名が空の UDS URI (“unix:///…”) がホスト名なしの場合 (“unix:/…”) と同様に扱われるようになりました。

* mod_md: 複数の並行した OCSP リクエストの処理におけるバグが修正されました。この問題により、タスクを実行中の子プロセスを終了させ、そして再起動させるアサーションが発生する可能性がありました。最終的には、全ての OCSP レスポンスが集められますが、想定通りの動作になっていませんでした。<https://bz.apache.org/bugzilla/show_bug.cgi?id=65567> も参照してください。このバグは、複数の OCSP 状態が同時に更新される必要がある場合に発生する可能性がありました。例えば、いくつかの証明書がサーバリロード後に更新された場合などです。

* mod_rewrite: [P] ルールに対する UDS (“unix:”) が修正されました。(PR 57691 + 65590)

* event mpm: 子プロセスが MaxConnectionsPerChild のために死んだ場合に親プロセスのアクティブな子プロセス数が正しくカウントされるようになりました。(PR 65592)

* mod_http2: サーバが graceful で再起動されたとき、アイドル中の h2 ワーカスレッドはどれも直ちにシャットダウンされるようになりました。また、OpenSSL 3.0 での非推奨に合わせて OpenSSL API の使用方法が変更されました。その他は全て、かつて提案されたことのないコードの変更が追加され、http2 ソースのきれいな同期が行われました。

* mod_dav: REPORT リクエストで DAV プロバイダにより返されるエラーが正しく処理されるようになりました。

* core: core の入力/出力フィルタはセカンダリ接続にはインストールされないようになりました。

* core: ap_run_pre_connection() のラッパとして ap_pre_connection() が追加され、それを使って、pre_connection フックを実行したときの失敗が後でクラッシュを引き起こす問題が抑止されました。

* mod_speling: CheckBasenameMatch が追加されました。(PR 44221)

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

https://downloads.apache.org/httpd/CHANGES_2.4