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;
モジュールの詳細については、以下のサイトをご確認ください。
対処方法
本脆弱性が改修されているバージョンへアップグレードすることで対処可能です。
- NGINX Plus : nginx-plus-r32 、nginx-plus-r31-p2
- NGINX OSS : 1.27.0 , 1.26.1
まとめ
ngx_http_v3_module の脆弱性について記載いたしました。
このモジュールは NGINX Plus に初めから含まれておりますが、”実験的な機能” としての実装のため、影響を受けるお客様は少ないかと思います。
ですが、これを機会にバージョンやコンフィグを見直すのもよいかもしれないですね。