Windows RDP クライアントが Hyper-V マネージャーに重大な脆弱性を移植(CVE-2021-38666)

11月のバグレポートでは、RDP(Remote Desktop Protocol)クライアントで見つかったさらに別の重大なRCE(リモートコード実行)のバグが報告されました。これは、Hyper-Vマネージャーの「拡張セッションモード」にも移植されています。脆弱性はRDPクライアントに潜在しており、被害者となるユーザーがRDPサーバーに接続することによってこの脆弱性が悪用されます。


脆弱性の分析: CVE-2021-38666

CVE-2021-34535 及び CVE-2020-1374に非常に関連しているRCEのバグです。攻撃者がペイロードサイズフィールドを制御することで、mstscax.dllでヒープオーバーフローが発生します。この脆弱性は、クライアントとサーバー間の、既存のローカルRDPDRの静的仮想チャネル設定を悪用し、[MS-RDPESC]機能を持つRDP Smart Card Virtual Channel Extensionを介して発動されます。Shadow BrokersがリリースしたEsteemAudit Exploitでも利用されていましたが、この脆弱性は、クライアントではなくRDPサーバーを対象としたものでした。今回悪用された機能は、クライアントとサーバー間で、スマートカードリーダーを共有できるようにします。

IOCTL (I/O control)に各スマートカードリーダーのロケーションを特定させることを意図しているデスティネーションバッファのサイズは固定されていますが、ユーザー制御フィールドのサイズは可変的で、クライアントにOOB (Out of Bounds)の書き込みを実行させます。

この脆弱性がいかに簡単に起こるのかということを理解した上で、我々のチームは、[MS-RDPESC]の他のIOCTLに脆弱性があるかを検証するため、テストケースを変化させてみることにしました。スマートカードリーダーに紐つけた60個のIOCTLにおけるenumerateの結果、さらに新たなクラッシュを2つ発見しました。発見されたすべての脆弱性は、最新バージョンのmstscax.dllにパッチが適用されており、他の潜在的な脆弱性のある機能はこのバグの修正によって制御されていることがわかります。パッチを適用した mstscax.dllは、有線で受信したバイトがユーザー指定のサイズ フィールドを超えていないことを確認します。OCTL 関数が呼び出される前に IOCTL ディスパッチ テーブル レベルで行われるため、すべてのIOCTLに単一の検証が適用されます。

この脆弱性のCVSSCommon Vulnerability Scoring Standard)スコアは8.8で、9.8から下げられています。被害者のRDPクライアントが悪意のあるサーバーに接続することが前提となっており、ユーザーによる操作を必要とするためです。

攻撃シナリオ

このバグは詳細に分析済みのCVE-2021-34535と同様の攻撃シナリオで展開されます。

  1. クライアント側の脆弱性でありワームではない
  2. ユーザが悪意のあるRDPサーバに接続する必要がある
  3. ネットワークを介した従来のRDPクライアント、ローカルのHyper-Vマネージャーの「拡張セッションモード」、どちらも脆弱なmstscax.dllを使用しているために両方に影響を与える
  4. この脆弱性は、Hyper-V Windows 10 でゲストからホストへのエスケープに使用される可能性がある

今後の展開

BlueKeep(CVE-2019-0708)以降、RDPの重大な脆弱性が定期的に発生していますが、CVE-2021-38666とCVE-2021-34535の2つの脆弱性は、Hyper-Vマネージャーの「拡張セッションモード」に影響を与え、ゲストからホストへのエスケープに利用できるという特徴があります。これらの脆弱性は、過去のRDPサーバ側のRCE脆弱性と同様、重要であるという評価はしていませんが、RDPのポーティングによりHyper-Vマネージャーに影響を与えるという脆弱性が出現し始めていることは明らかです。脅威アクターがこの共通のプロトコルをWindows 10 Hyper-V上でゲストからホストへのエスケープ用に、武器として利用する可能性が高いため、最優先でパッチを適用することをおすすめします。

Microsoftは、この脆弱性のパッチに関してナレッジベースの記事を公開しています。最優先でパッチを適用することをおすすめします。当社では、この脆弱性について、引き続き監視していきます。

セキュリティのベストプラクティスについてはこちらをご覧ください:
 https://www.mcafee.com/blogs/other-blogs/mcafee-labs/rdp-security-explained/

※本ページの内容は2021年11月9日(US時間)更新の以下のMcAfee Enterprise Blogの内容です。
原文: Windows RDP Client Porting Critical Vulnerabilities to Hyper-V Manager
著者:  and Eoin Carroll