MP4、HLS モジュールの脆弱性(CVE-2022-41741,CVE-2022-41742,CVE-2022-41743) について
NGINX の MP4、HLS モジュールにて以下の脆弱性が報告されましたので、詳細について記載いたします。
CVE-2022-41741
CVE-2022-41742
CVE-2022-41743
こんにちは。NGINX エンジニアの narai です。
NGINX Plus の ngx_http_hls_module 、 ngx_http_mp4_module にて脆弱性が報告されたため調査しました。
なお、本記事は NGINX Plus での影響を記載しておりますが、オープンソース版の NGINX でも同様となります。
※ ngx_http_hls_module 、 ngx_http_mp4_module は NGINX で動画配信やストリーミングを行う際に使用するモジュールになります。
結論から申し上げますと、mp4 ディレクティブおよび hls ディレクティブを使用している場合のみ、本脆弱性の影響を受ける可能性があります。該当ディレクティブを使用していない場合、脆弱性の影響はございません。
また、脆弱性に該当している場合でも、脆弱性改修バージョンへアップグレードすることで対処可能です。
脆弱性の詳細
特別に細工されたオーディオ ファイルまたはビデオ ファイルを使用して、悪意ある攻撃者が NGINX worker メモリを破壊(CVE-2022-41741、CVE-2022-41743)したり、漏洩(CVE-2022-41742)することができる脆弱性が報告されました。
脆弱性は mp4 ディレクティブ, hls ディレクティブを使用している場合にのみ対象となり、さらに、脆弱性を利用して worker メモリを破損させるには特別に細工されたオーディオ、ビデオファイルを NGINX Plus で処理させる必要があります。
詳しくは以下のメーカーサイトをご確認ください。
- K81926432: NGINX ngx_http_mp4_module vulnerability CVE-2022-41741
- K28112382: NGINX ngx_http_mp4_module vulnerability CVE-2022-41742
- K01112063: NGINX ngx_http_hls_module vulnerability CVE-2022-41743
該当有無の確認方法
NGINX Plus では、ngx_http_hls_module 、 ngx_http_mp4_module ともにパッケージとして含まれております。
そのため、NGINX のコンフィグで mp4 、 hls ディレクティブを使用している場合、脆弱性の影響を受ける可能性があります。
それぞれのモジュールで使用できる主なディレクティブは以下の通りです。
モジュールの詳細については、以下のサイトをご確認ください。
対処方法
本脆弱性が改修されているバージョンへアップグレードすることで対処可能です。
2022/10/20 現在、改修されているバージョンは以下の通りです。
* NGINX Plus : nginx-plus-r27-p1 、nginx-plus-r26-p1
まとめ
ngx_http_hls_module 、 ngx_http_mp4_module の脆弱性について記載いたしました。
これらのモジュールは NGINX Plus に初めから含まれており多数のバージョンが影響を受けますので、該当モジュールを使用していない場合でも NGINX を最新バージョンにアップグレードすることをお勧めいたします。