RHSB-2023-003 HTTP/2 Rapid Reset (CVE-2023-44487 and CVE-2023-39325)

Public Date: October 16, 2023, 01:29
更新 November 10, 2023, 08:46 - Chinese, Simplified 英語 French Korean
Ongoing 状態
Important Impact

Red Hat は、“Rapid Reset Attack” と呼ばれる、DDoS (分散型サービス妨害) 攻撃に対する脆弱性を把握しています。この脆弱性は多数の HTTP/2 実装に影響を及ぼし、CVE-2023-44487 および CVE-2023-39325 が割り当てられています。 

この問題の CVSSv3 スコア は 7.5 と評価され、セキュリティーへの影響度は Important (重要) に分類されています。

米国サイバーセキュリティー・社会基盤安全保障庁 (CISA) は、この脆弱性をアクティブエクスプロイトとして宣言しました。また、2023 年 8 月以降において、この脆弱性が実際に能動的に悪用されているとも報告されました。

Red Hat は影響を受ける製品の特定を進めていますが、現時点で確認された影響を受ける製品のリストは CVE-2023-44487 および CVE-2023-39325 で確認できます。

さらに、Red Hat Enterprise Linux でサポートされている Red Hat 製品 (RHEL CoreOS を含む) も影響を受ける可能性があります。具体的には、次の製品が含まれます。

  • RHEL または UBI コンテナーイメージをベースとする製品コンテナー。この不具合に対する修正が存在するかを示すコンテナーヘルス (Red Hat コンテナーカタログ の コンテナーヘルスインデックスを参照) を含め、これらのイメージは定期的に更新されます。さらに、ベースイメージが更新されるとお客様のコンテナーが再ビルドされるはずです。

  • RHEL チャネルからパッケージをプルする製品。これには、Red Hat OpenShift Container Platform、Red Hat OpenStack Platform、Red Hat Virtualization などのレイヤー製品も含まれます。これらの製品環境で、影響を受ける RHEL パッケージが最新の状態であることを確認してください。

HTTP/2 プロトコルは、クライアントとサーバーの間の通信を確立するために一連の多重化ストリームを使用しており、その結果として通信のスループットが向上します。

CVE-2023-44487 および CVE-2023-39325 の攻撃者は、多数のストリームを作成し、その後各ストリームをキャンセルします。この問題が発生するとサーバーはリソース不足に陥り、最終的には他の有効なリクエストを処理できなくなります。 

ユーザーにおいては、修正が入手可能になり次第、ソフトウェアを更新することが強く推奨されます。 
この不具合には、いくつかの軽減策があります。

HTTP/1.1 とは異なり、HTTP/2 プロトコルは一連のデータストリームを使用してクライアントとサーバーの間の通信を確立します。これにより、クライアントは 1 つの接続内で複数のリクエストを送信できるようになり、リクエストはサーバー側でさらに並列処理できます。HTTP/2 には、サーバーに RST_STREAM フレームを送信することで、以前に送信したストリームをクライアントがキャンセルできる機能もあります。クライアントは、サーバーが RST_STREAM フレームを受信した直後にストリームがキャンセルされたと想定する可能性があります。

この脆弱性は両機能を悪用しており、同じ接続内で多数のストリームを作成した後、最初のリクエストに対する応答を受信する前に、RST_STREAM フレームを使用してストリームをキャンセルします。これには、送信されたすべてのフレームを展開および解釈し、大量のリソースを割り当て、最終的にシステムを枯渇させるサーバーも含まれます。この動作を悪用することで、攻撃者はサーバーに設定されている接続上限を超過することなく、標的システムのパフォーマンスに大きなペナルティーを課します。

NGINX は、パフォーマンスとリソース消費を理由に、同時ストリーム数をデフォルトで 128 に制限しています。詳細は、http2_max_concurrent_streams を参照してください。さらに NGINX では、ネットワークとサーバーのパフォーマンスバランスを最適化するために、クライアントは HTTP キープアライブを使用して、デフォルトで 最大 1000 のリクエストの HTTP 接続を維持できます。詳細は、keepalive_requests を参照してください。

Red Hat は影響を受ける製品の特定を進めていますが、現時点で確認された影響を受ける製品のリストは CVE-2023-44487 および CVE-2023-39325 で確認できます。

影響のあるバージョンの Red Hat 製品をご使用のお客様は、エラータが入手可能になり次第、該当製品を更新することが強く推奨されます。

curl は、指定されたサーバーの実際の HTTP プロトコルバージョンを報告して、指定されたサーバーの HTTP バージョンを特定できます。以下のスクリプトを使用してください。https://redhat.com をテストする場合: 


$ curl -sl https://redhat.com -o/dev/null -w '%{http_version}\n'

1.1


HTTPS とポート 20346 を使用して、仮定のサーバー 172.16.8.3 をテストする必要がある場合:

$ curl -sl https://172.16.8.3:20346 -o/dev/null -w '%{http_version}\n'

2

1.1 または 1 を返すシステムは、この CVE に対して脆弱ではありません。バージョン 2 を返すシステムは、この脆弱性の影響を受ける可能性があります。

https://www.cisa.gov/news-events/alerts/2023/10/10/http2-rapid-reset-vulnerability-cve-2023-44487

https://www.openwall.com/lists/oss-security/2023/10/10/6 

GPG を使用して Product Security の署名済みコンテンツを検証する方法



Comments