Live Networks 社製 LIVE555 ストリーミング メディア RTSPServer で特定されたコード実行の脆弱性について、Cisco Talos が公表します。
LIVE555 ストリーミング メディアは、Live Networks Inc. 社がマルチメディア ストリーミング用に開発した、一連のオープンソースの C++ ライブラリです。このライブラリは、ストリーミングに関連する RTP/RTCP、RTSP などのオープン スタンダードをサポートし、H.264、H.265、MPEG、VP8、DV などのビデオ RTP ペイロード形式や、MPEG、AAC、AMR、AC-3、Vorbis などの音声 RTP ペイロード形式にも対応します。VLC や MPlayer などの有名なソフトウェアの内部で使用されています。
LIVE555 RTSP サーバ ライブラリの HTTP パケット解析機能には、エクスプロイト可能なコード実行の脆弱性が存在しています。巧妙に細工されたパケットがスタックベースのバッファ オーバーフローを引き起こし、その結果、コードが実行される危険性があります。この脆弱性をトリガーするには、パケットを送信する必要があります。
脆弱性の詳細
TALOS-2018-0684 で、脆弱性 CVE-2018-4013 について記述しています。LIVE555 メディア ライブラリは、RTSP/RTCP/RTSP/SIP 用の軽量のマルチメディア ストリーミング ライブラリ セットで、サーバとクライアントの両方のコードをサポートしています。VLC や MPlayer など一般的なメディア プレーヤーのほか、さまざまな組み込みデバイス(主にカメラ)で利用されています。
LIVE555 によって可能になる標準 RTSP サーバ向け機能の 1 つに、RTSP-over-HTTP トンネリングがあり、サーバにバインドされた別ポートで実行されます。通常、ホスト マシンの空きポートに応じて、TCP 80、8000、8080 のうちいずれかが使用されます。このポートは通常の RTSP をサポートできます。ただし、特定のケースでは、HTTP クライアントが RTSP-over-HTTP トンネルをネゴシエートできます。
この脆弱性は、RTSP-over-HTTP トンネリング用の HTTP ヘッダーを解析する関数に存在しています。複数の「Accept:」または「x-sessioncookie」文字列を含むパケットを攻撃者に作成され、それによって「lookForHeader」関数でスタック バッファ オーバーフローが引き起こされる可能性があります。
影響を受けるソフトウェア
この脆弱性は、Live Networks 社の LIVE555 メディア サーバ バージョン 0.92 で確認されていますが、それより前のバージョンにも存在している可能性があります。
カバレッジ
次の SnortⓇ ルールは、今回発見された脆弱性に対するエクスプロイトを検出します。脆弱性に関する新たな情報が発見された場合は、ルールが追加・変更される可能性もあります。最新情報にご注意ください。ルールに関する最新情報は、Firepower Management Center または Snort.org を参照してください。
Snort ルール:
本稿は 2018年10月18日に Talos Group のブログに投稿された「Vulnerability Spotlight: Live Networks LIVE555 streaming media RTSPServer code execution vulnerability」の抄訳です。