Cisco Talos は、TP-Link 社製の TL-R600VPN ルータに複数の脆弱性を発見しました。TP-Link 社は多岐にわたる小規模オフィス/家庭用(SOHO)ルータを製造しています。Talos は上記モデルに複数のバグを発見しました。これらのバグにより、リモートで任意コードが実行される危険性があります。
概要
脆弱性の根本原因は 2 つ、つまり入力サニタイズの欠如と構文解析のエラーです。適切な入力サニタイズの欠如は TALOS-2018-0617/18 の各脆弱性を引き起こしています。これらの脆弱性は認証がなくてもエクスプロイト可能です。構文解析エラーは TALOS-2018-0619/20 の各脆弱性を引き起こしています。ただし、エクスプロイトは認証済みセッション内でのみ可能です。エクスプロイトされると、攻撃者による任意コードが HTTPD として実行されることになります。ただし HTTPD プロセスが root で実行されるため、攻撃者は昇格された権限でコードを実行できます。
今回の脆弱性はすべて HWv3 FRNv1.3.0 と HWv2 FRNv1.2.3 で検出されました。ただし TALOS 2018-0620 は例外で、HWv3 FRNv1.3.0 でのみ検出されています。
TALOS-2018-0617:TP-Link 社製 TL-R600VPN における HTTP サービス拒否の脆弱性
TP-Link TL-R600VPN の HTTP サーバでは、URI 解析機能にエクスプロイト可能なサービス拒否の脆弱性が存在します。脆弱なページ(ヘルプ、画像、フレーム、ダイナフォーム、ローカリゼーションなどのページ)のいずれかでディレクトリ トラバーサルが試みられ、要求されたページがファイルではなくディレクトリである場合、Web サーバが無限ループに陥ります。同時に、管理ポータルが利用できなくなります。ページの要求は未認証でも脆弱性をエクスプロイト可能です。
CVE:CVE-2018-3948
技術的なアドバイザリ全体はこちら
TALOS-2018-0618:TP-Link 社製 TL-R600VPN の HTTP サーバに存在する情報漏洩の脆弱性
TP-Link TL-R600VPN の HTTP サーバ機能に、エクスプロイト可能な情報漏洩の脆弱性が存在します。具体的には、認証済みフォームと未認証フォームの両方にディレクトリ トラバーサルの脆弱性が存在します。’help’ のベース ページで基本的なディレクトリ トラバーサル手口が使用された場合、認証なしでシステム上のファイルを読み取ることができます。
CVE:CVE-2018-3949
技術的なアドバイザリ全体はこちら
TALOS-2018-0619:TP-Link 社製 TL-R600VPN の HTTP サーバに存在し、ping アドレスに起因する、リモートで任意コードが実行される脆弱性
TP-Link TL-R600VPN の HTTP サーバでは、ping とトレース ルート(traceroute)機能に、リモートで任意コードが実行される脆弱性が存在します。脆弱性の原因は、ルータが ping を実行する際、’ping_addr’ フィールドに渡すデータのサイズを検証しないことにあります。’ping_addr’ フィールドに大量のデータが送信されると、スタックベースのバッファ オーバーフローが引き起こされ、リモートからの任意コードの実行や、HTTP サーバの単純なクラッシュにつながる危険性があります。脆弱性をエクスプロイトするには、攻撃者が認証済みセッションに参加している必要があります。
CVE:CVE-2018-3950
技術的なアドバイザリ全体はこちら
TALOS-2018-0620:TP-Link 社製 TL-R600VPN の HTTP サーバに存在し、fs ディレクトリに起因する、リモートで任意コードが実行される脆弱性
TP-Link TL-R600VPN HTTP サーバの HTTP ヘッダー解析機能に、リモートで任意コードが実行される脆弱性が存在します。細工された HTTP リクエストによりバッファ オーバーフローが引き起こされ、リモートで任意コードを実行される可能性があります。細工された HTTP リクエストを受け取ると、HTTP サーバはユーザが指定した HTTP ヘッダー バッファの長さを計算し、その値を入力バッファー オフセットに追加します。このため、予想より長い GET 要求を受け取るとバッファ オーバーフローが発生します。脆弱性をエクスプロイトするには、攻撃者が認証済みである必要があります。
CVE:CVE-2018-3951
技術的なアドバイザリ全体はこちら
まとめ
Talos は今年 1 年を通して、Internet-of-things(IoT)デバイスや SOHO ルータにさまざまな脆弱性を発見してきました。これらの脆弱性は、デバイスやルータが脆弱であるという事実だけでなく、バッファ オーバーフローなどの脆弱性を緩和する基本的な OS レベルのセキュリティ対策も欠いていることを裏付けています。TL-R600VPN ルータに限れば、リモートで任意コードが実行される脆弱性のエクスプロイトには認証が必要です。ただしコードは root 権限で実行できます。
カバレッジ
これらの脆弱性を検出するために、次の Snort ID がリリースされました。
本稿は 2018年11月19日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple remote vulnerabilities in TP-Link TL-R600VPN」の抄訳です。