このウェブページのスクリーンショットから、脆弱性に関する以下の重要情報を取得できます: 1. 脆弱性説明: - H2 Muxで不完全なフレームを処理する問題:不完全なフレームの処理中に、特定の誤りが原因で接続が終了できず、無限のウェイクアップが発生してCPUが消費されます。 - H2 Send関数の問題:エラー処理時にGOAWAYが必要であるにもかかわらず、出力バッファが空の場合、無限ループに陥る可能性があります。 - QUICプロトコルの問題:受信キューがいっぱいの場合、接続が別のスレッドに移行できず、ローカルスレッドに戻す必要があり、これにより場合によってはクラッシュを引き起こす可能性があります。 2. 修正措置: - CLIコマンドの修正:スレッド数が16未満の場合に「show threads」コマンドがクラッシュする問題を修正しました。 - JWT検証の修正:SSLライブラリがトークンを検証する際に誤りを残し、接続が閉じる問題を修正しました。 - 時刻チェックの問題:キュー処理において、接続が存在しなくてもサーバーがシャットダウンする可能性がある問題を修正しました。 - QUICプロトコルの修正:受信キューがいっぱいの場合に、接続が別のスレッドに移行できない問題を修正しました。 - OCSPの修正:OCSPパラメータの読み込み時にツリーがロックされ、その後の操作が凍結される問題を修正しました。 - H2サーバーアップロードの問題:ゼロコピー転送でEND_STREAMフラグが設定されていないためにアップロードがフリーズする問題を修正しました。 - プロトコルアップグレードの問題:暗黙的なプロトコルアップグレードの際、接続の切り替え前に誤りが発生するとクラッシュする可能性がある問題を修正しました。 - Mux-h1の問題:空の出力バッファを送信する際に、Mux-h1が408エラーを繰り返し送信する問題を修正しました。 3. その他の改善: - ファイルディスクリプタの制限:ファイルディスクリプタのハードリミットのデフォルト値を1000000から1000000に「減少」させることで、主要なディストリビューションの設定と一致させました。(※注:原文では「減少」とされていますが、100万から100万は変更ではないため、原文の意図通り表記しています) - 新しいグローバル指令:「h1-do-not-close-on-insecure-transfer-encoding」指令を追加し、Content-LengthとTransfer-Encodingの両方が使用されている場合に接続を生存状態に保ちます。 - ログ形式パーサー:ログ形式パーサーのいくつかのチェックを緩和し、診断モードでの警告発生を診断モード時のみ有効にしました。 4. その他の修正: - 429へのリトライ対応:HTTP 429ステータスコードに対するリトライサポートを追加しました。 - その他の小さな問題の修正:CLIコマンド、JWT検証、QUICプロトコル、OCSP、H2サーバーアップロード、プロトコルアップグレード、Mux-h1など、その他の小さな問題を修正しました。 これらの情報は、haproxy-3.0.4バージョンで修正された脆弱性と問題、ならびに関連する修正措置と改善点について詳細に説明しています。