ngx_http_v3_module の脆弱性(CVE-2024-32760,CVE-2024-35200,CVE-2024-31079,CVE-2024-34161)について

NGINX の HTTP/3(QUIC) モジュールにて以下の脆弱性が報告されましたので、詳細について記載いたします。

CVE-2024-32760
CVE-2024-34161
CVE-2024-35200
CVE-2024-31079

こんにちは。NGINX エンジニアの narai です。
NGINX Plus 及び NGINX OSS の ngx_http_v3_module にて脆弱性が報告されたため調査しました。
※ ngx_http_v3_module は NGINX で HTTP/3 を扱う際に使用するモジュールになります。

結論から申し上げますと、以下の設定を行っている場合のみ、本脆弱性の影響を受ける可能性があります。
※ NGINX Plus(R31) では本機能は実験的な機能として実装されております。

    server {
        listen 8443 quic reuseport;
        listen 8443 ssl;

また、脆弱性に該当している場合でも、脆弱性改修バージョンへアップグレードすることで対処可能です。

脆弱性の詳細

特定の QUIC パケットによって、NGINX の worker プロセスがダウンしたり(CVE-2024-32760,CVE-2024-35200,CVE-2024-31079)、メモリリークする(CVE-2024-34161)脆弱性が報告されました。

詳しくは以下のメーカーサイトをご確認ください。

K000139609: NGINX HTTP/3 QUIC vulnerability CVE-2024-32760
K000139627: NGINX HTTP/3 QUIC vulnerability CVE-2024-34161
K000139612: NGINX HTTP/3 QUIC vulnerability CVE-2024-35200
K000139611: NGINX HTTP/3 QUIC vulnerability CVE-2024-31079

該当バージョン

NGINX Plus R30 – R31
※ これ以前の NGINX Plus では ngx_http_v3_module が利用できませんので、本脆弱性の対象外となります。

NGINX OSS 1.25.0 – 1.26.0 ※ ngx_http_v3_module をコンパイルしている場合

カスタムビルドされたNGINXをご利用の場合、ビルド元の情報をご確認ください。

該当有無の確認方法

該当バージョンの NGINX Plus では、ngx_http_v3_module がパッケージに含まれております。
そのため、コンフィグで listen ディレクティブに QUIC オプションを使用している場合、脆弱性の影響を受ける可能性があります。

脆弱性の影響を受ける可能性のある設定

    server {
        listen 8443 quic reuseport;
        listen 8443 ssl;

モジュールの詳細については、以下のサイトをご確認ください。

ngx_http_v3_module

対処方法

本脆弱性が改修されているバージョンへアップグレードすることで対処可能です。

  • NGINX Plus : nginx-plus-r32 、nginx-plus-r31-p2
  • NGINX OSS : 1.27.0 , 1.26.1

まとめ

ngx_http_v3_module の脆弱性について記載いたしました。

このモジュールは NGINX Plus に初めから含まれておりますが、”実験的な機能” としての実装のため、影響を受けるお客様は少ないかと思います。
ですが、これを機会にバージョンやコンフィグを見直すのもよいかもしれないですね。

この記事に関連する製品・サービス

この記事に関連する記事