[![Logo](https://www.paloaltonetworks.com/wp-content/uploads/2021/07/PANW_Parent.png)](https://www.paloaltonetworks.jp/)  
[![Unit42 Logo](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/unit42-logo-white.svg)](https://unit42.paloaltonetworks.com/ja/)  
Menu

* [セキュリティ コンサルティング](https://www.paloaltonetworks.com/unit42)
* [**現在、攻撃を受けていますか?**](https://start.paloaltonetworks.com/contact-unit42.html)  
  Japanese
* [English](https://unit42.paloaltonetworks.com/exploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu/)
* [Japanese](https://unit42.paloaltonetworks.com/ja/exploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu/)
* [Threat Research Center](https://unit42.paloaltonetworks.com/ja/ "Threat Research")
* [脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/ "脅威リサーチ")
* [脆弱性](https://unit42.paloaltonetworks.com/ja/category/vulnerabilities-ja/ "脆弱性")  
  [脆弱性](https://unit42.paloaltonetworks.com/ja/category/vulnerabilities-ja/)

# Windows CVE-2019-0708（BlueKeep）エクスプロイト解説：RDP PDUを使用してカーネルにデータを書き込む3つの方法

![Clock Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-clock.svg) 5 分で読めます

* ![Profile Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-profile-grey.svg)  
  著者:
  
  * [Tao Yan](https://unit42.paloaltonetworks.com/ja/author/tao-yan/)
  * [Jin Chen](https://unit42.paloaltonetworks.com/ja/author/jin-chen/)

* ![Published Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-calendar-grey.svg)  
  公開日:2019年8月30日

* ![Tags Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-category.svg)  
  カテゴリー
  
  * [脆弱性](https://unit42.paloaltonetworks.com/ja/category/vulnerabilities-ja/)
  * [脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/)

* ![Tags Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-tags-grey.svg)  
  タグ:
  
  * [Bluekeep](https://unit42.paloaltonetworks.com/ja/tag/bluekeep-ja/)
  * [CVE-2019-0708](https://unit42.paloaltonetworks.com/ja/tag/cve-2019-0708-ja/)
  * [RDP](https://unit42.paloaltonetworks.com/ja/tag/rdp-ja/)

* [![Download Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-download.svg)](https://unit42.paloaltonetworks.com/ja/exploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu/?pdf=download&lg=ja&_wpnonce=1f7a0335d5 "Click here to download")

* [![Print Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-print.svg)](https://unit42.paloaltonetworks.com/ja/exploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu/?pdf=print&lg=ja&_wpnonce=1f7a0335d5 "Click here to print")

共有![Down arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/down-arrow.svg)

* ![Link Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-share-link.svg)
* [![Link Email](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-sms.svg)](mailto:?subject=Windows%20CVE-2019-0708（BlueKeep）エクスプロイト解説：RDP%20PDUを使用してカーネルにデータを書き込む3つの方法&body=Check%20out%20this%20article%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Fexploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu%2F "Share in email")
* [![Facebook Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-fb-share.svg)](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Fexploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu%2F "Share in Facebook")
* [![LinkedIn Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-linkedin-share.svg)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Fexploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu%2F&title=Windows%20CVE-2019-0708（BlueKeep）エクスプロイト解説：RDP%20PDUを使用してカーネルにデータを書き込む3つの方法 "Share in LinkedIn")
* [![Twitter Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-twitter-share.svg)](https://twitter.com/intent/tweet?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Fexploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu%2F&text=Windows%20CVE-2019-0708（BlueKeep）エクスプロイト解説：RDP%20PDUを使用してカーネルにデータを書き込む3つの方法 "Share in Twitter")
* [![Reddit Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-reddit-share.svg)](https://www.paloaltonetworks.com//www.reddit.com/submit?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Fexploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu%2F&ts=markdown "Share in Reddit")
* [![Mastodon Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-mastodon-share.svg)](https://mastodon.social/share?text=Windows%20CVE-2019-0708（BlueKeep）エクスプロイト解説：RDP%20PDUを使用してカーネルにデータを書き込む3つの方法%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fja%2Fexploitation-of-windows-cve-2019-0708-bluekeep-three-ways-to-write-data-into-the-kernel-with-rdp-pdu%2F "Share in Mastodon")

## エグゼクティブサマリー

2019年5月、Microsoftは定例外のセキュリティ更新プログラムを公開しました。 リモートコード実行の脆弱性である[CVE-2019-0708](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-0708)に対応するためで、同脆弱性は「BlueKeep」という名前でも知られ、Remote Desktop Services（RDS）に存在します。同脆弱性は認証プロセスより前の段階に存在するため、ユーザーとの対話を必要としません。このことから、破壊的エクスプロイトに転用されるおそれがあり、特に危険をはらむ脆弱性となっています。エクスプロイトに成功すると、本脆弱性は「system」の権限で任意のコードを実行する可能性があります。Microsoft Security Response Center（MSRC）は[アドバイザリ](https://portal.msrc.microsoft.com/ja-JP/security-guidance/advisory/CVE-2019-0708)を公開していますが、同アドバイザリでは本脆弱性がワーム化できることも示しています。このワーム化された振る舞いは、WannaCry や EsteemAudit などの攻撃でも見られたものです。本脆弱性の深刻さと一般への潜在的影響を考慮し、Microsoftはサポート終了のWindows XP 用にもセキュリティ更新プログラムを公開し、Windowsユーザーを保護するという例外的対応を取りました。

本脆弱性が世界規模で壊滅的影響をもたらす可能性があることから、パロアルトネットワークスの脅威インテリジェンスリサーチ部門 Unit 42 は当該脆弱性を分析し、RDSの内部機構とそのエクスプロイト方法を理解することが重要と考えました。以下の調査では、RDPの内部機構について分析し、この機構がどのように悪用されればセキュリティ更新プログラム未適用のホストでコードが実行されるのかを深く掘り下げています。また本稿では、Bitmap Cacheプロトコル データ ユニット（以降PDUと表記）、Refresh Rect PDU、およびRDPDR Client Name Request PDUの3つのPDUを使用し、データをカーネル メモリに書き込む方法についても考察します。

同セキュリティ更新プログラムが5月に公開されて以降、本脆弱性はコンピューターセキュリティ業界から多くの注目を集めています。実用的なエクスプロイトが実際に公開されるのは時間の問題で、私たちの調査結果は、脆弱なシステムにセキュリティ更新プログラムを適用しなかった場合のリスクを強調する結果となっています。

### Bitmap Cache PDU

[MS-RDPBCGR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c) （Remote Desktop Protocol：Basic Connectivity and Graphics Remoting）のドキュメントによると、Bitmap Cache PDUの完全な名前はTS\_BITMAPCACHE\_PERSISTENT\_LIST\_PDUで、Persistent Key List PDU Dataと見なされ、Persistent Key List PDU に埋め込まれています。Persistent Key List PDUは、クライアントからサーバーに送信されるRDP Connection Sequence PDUで、RDP Connection SequenceのConnection Finalizationフェーズで送信されるものです（図1参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-11.png)*図1 Remote Desktop Protocol (RDP) 接続シーケンス*

Persistent Key List PDUヘッダは一般RDP PDUヘッダで、「tpktHeader (4 バイト) + x224Data (3 バイト) + mcsSDrq (可変長) + securityHeader (可変長)」という形式になっています（図2参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-12.png)*図2 Client Persistent Key List PDU*

[MS-RDPBCGR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c)のドキュメントによれば、TS\_BITMAPCACHE\_PERSISTENT\_LIST\_PDUは、以前のセッションで送信されたCache Bitmap (Revision 2) Orders (\[MS-RDPEGDI\] section 2.2.2.2.1.2.3)から保存したキャッシュ済みビットマップキーのリストを含む構造体を保持しています（図3参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-13.png)*図3 Persistent Key List PDU Data (BITMAPCACHE PERSISTENT LIST PDU)*

Bitmap Cache PDUは設計上、キーと紐づくビットマップのローカル コピーが存在することをRDPクライアントからサーバーに知らせるものです。これにより、サーバーはビットマップをクライアントに送信する必要がなくなります。[MS-RDPBCGR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c)ドキュメントによれば、Bitmap PDUには4つの特性があります。

* RDPサーバーはカーネル プールを割り当ててキャッシュ済みビットマップ キーを格納する
* RDPサーバーが割り当てるカーネル プールのサイズを決めるのは、同構造体内に存在するnumEntriesCache**X** \[Xは0から4の値\]の「WORD値」と、RDPクライアントからのBITMAPCACHE PERSISTENT LIST構造体に存在するtotalEntriesCache**X**\[Xは0から4の値\]
* Bitmap Cache PDUは正規の方法で複数回送信することが可能。これは、ビットマップ キーが複数のPersistent Key List PDUで送信可能で、各PDUはbBitMaskフィールド内のフラグによってマーキングされるため
* ビットマップキーの数は169個までに制限される

BITMAPCACHE PERSISTENT LIST PDUのもつこれら4つの特性を考えれば、カーネルに任意のデータを書き込めるというのは、ビットマップキー数の169個制限を何らかの方法でバイパスできるのか、MicrosoftのRDP開発者がこのビットマップキー数制限を正しく実装していなかった、というのが原因としてありそうです。

### Bitmap Cache PDUを使用してカーネルにデータを書き込む方法

[MS-RDPBCGR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c)の資料によると、通常の復号化されたBITMAPCACHE PERSISTENT LIST PDUは次のようになっています。

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| f2 00 -\> TS\_SHARECONTROLHEADER::totalLength = 0x00f2 = 242 bytes  17 00 -\> TS\_SHARECONTROLHEADER::pduType = 0x0017 0x0017 = 0x0010 | 0x0007 = TS\_PROTOCOL\_VERSION | PDUTYPE\_DATAPDU ef 03 -\> TS\_SHARECONTROLHEADER::pduSource = 0x03ef = 1007 ea 03 01 00 -\> TS\_SHAREDATAHEADER::shareID = 0x000103ea 00 -\> TS\_SHAREDATAHEADER::pad1 01 -\> TS\_SHAREDATAHEADER::streamId = STREAM\_LOW (1) 00 00 -\> TS\_SHAREDATAHEADER::uncompressedLength = 0 2b -\> TS\_SHAREDATAHEADER::pduType2 = PDUTYPE2\_BITMAPCACHE\_PERSISTENT\_LIST (43) 00 -\> TS\_SHAREDATAHEADER::generalCompressedType = 0 00 00 -\> TS\_SHAREDATAHEADER::generalCompressedLength = 0 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::numEntries\[0\] = 0 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::numEntries\[1\] = 0 19 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::numEntries\[2\] = 0x19 = 25 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::numEntries\[3\] = 0 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::numEntries\[4\] = 0 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::totalEntries\[0\] = 0 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::totalEntries\[1\] = 0 19 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::totalEntries\[2\] = 0x19 = 25 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::totalEntries\[3\] = 0 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::totalEntries\[4\] = 0 03 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::bBitMask = 0x03 0x03 = 0x01 | 0x02 = PERSIST\_FIRST\_PDU | PERSIST\_LAST\_PDU 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::Pad2 00 00 -\> TS\_BITMAPCACHE\_PERSISTENT\_LIST::Pad3 TS\_BITMAPCACHE\_PERSISTENT\_LIST::entries: a3 1e 51 16 -\> Cache 2, Key 0, Low 32-bits (TS\_BITMAPCACHE\_PERSISTENT\_LIST\_ENTRY::Key1) 48 29 22 78 -\> Cache 2, Key 0, High 32-bits (TS\_BITMAPCACHE\_PERSISTENT\_LIST\_ENTRY::Key2) 61 f7 89 9c -\> Cache 2, Key 1, Low 32-bits (TS\_BITMAPCACHE\_PERSISTENT\_LIST\_ENTRY::Key1) cd a9 66 a8 -\> Cache 2, Key 1, High 32-bits (TS\_BITMAPCACHE\_PERSISTENT\_LIST\_ENTRY::Key2) ... |

カーネルモジュールRDPWD.sys内では、関数ルーチンShareClass::SBC\_HandlePersistentCacheListがBITMAPCACHE PERSISTENT LIST PDUのパースを担当しています。同構造体内のbBitMaskフィールドがビット値0x01に設定されている場合、それは現在のPDUがPERSIST FIRST PDUであることを示しています。その場合、SBC\_HandlePersistentCacheListは、WDLIBRT\_MemAllocを呼び出して、図4に示すとおり、永続的なビットマップ キャッシュ キーを格納するためのカーネル プールを割り当てます（つまり、カーネルメモリを割り当てます）。値0x00は、現在のPDUがPERSIST MIDDLE PDUであることを示しています。値0x02は、現在のPDUがPERSIST LAST PDUであることを示しています。SBC\_HandlePersistentCacheListは、PERSIST MIDDLE PDUとPERSIST LAST PDUをパースするさい、以前割り当てられたメモリにビットマップ キャッシュ キーをコピーします（図5参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-14.png)

*図4 SBC\_HandlePersistentCacheListのプール割り当てとtotalEntriesCacheLimitのチェック*

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-15.png)*図5 SBC\_HandlePersistentCacheListによるビットマップ キャッシュ キーのコピー*

Windows 7（x86）で行ったスタック トレースとSBC\_HandlePersistentCacheListに渡される2つ目の引数TS\_BITMAPCACHE\_PERSISTENT\_LIST構造体を図6および図7に示します。

![C:\\Users\\ga1ois\\AppData\\Local\\Microsoft\\Windows\\INetCache\\Content.Word\\SBC\_HandlePersistentCacheList stack trace.bmp](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/c-users-ga1ois-appdata-local-microsoft-windows-in.png)*図6 SBC\_HandlePersistentCacheListのスタック トレース*

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-16.png)*図7 SBC\_HandlePersistentCacheListに2つ目の引数として渡されるTS\_BITMAPCACHE\_PERSISTENT\_LIST構造体*

図4に赤枠で示したとおり、bitmapCacheListPoolLen = 0xC \* (total length + 4) で、total length = totalEntriesCache0 + totalEntriesCache1 + totalEntriesCache2 + totalEntriesCache3 + totalEntriesCache4 となっています。この式にもとづけば、「WORD値」にtotalEntriesCache**X** = 0xffffを設定することで、bitmapCacheListPoolLenを最大化することができます。ただし、図4に示したとおり、totalEntriesCache**X** ごとにtotalEntriesCacheLimitのチェックがあります。totalEntriesCacheLimit**X**は、RDPWDがDCS\_Initを呼び出したときにCAPAPI\_LOAD\_TS\_BITMAPCACHE\_CAPABILITYSET\_REV2関数によって開始されるTS\_BITMAPCACHE\_CAPABILITYSET\_REV2構造体からきています（図8参照）。これが、アクティブな確認PDUのパース時に、CAPAPI\_COMBINE\_TS\_BITMAPCACHE\_CAPABILITYSET\_REV2関数で結合されます（図9参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-17.png)

*図8 RDPWD!CAPAPI\_LOAD\_TS\_BITMAPCACHE\_CAPABILITYSET\_REV2*

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/image16-1.png)*図9 RDPWD!CAPAPI\_COMBINE\_TS\_BITMAPCACHE\_CAPABILITYSET\_REV2*

CAPAPI\_COMBINE\_TS\_BITMAPCACHE\_CAPABILITYSET\_REV2は、サーバーが開始したNumCellCaches (0x03) およびtotalEntriesCacheLimit\[0-4\] (0x258, 0x258, 0x10000, 0x0, 0x0) を、クライアント側のリクエストであるNumCellCaches (0x03) およびtotalEntriesCache\[0-4\] (0x80000258, 0x80000258, 0x8000fffc, 0x0, 0x0)とを結合します。この様子が図9のedxおよびesiレジスタで示されています。図10に示すように、NumCellCachesおよびtotalEntriesCache\[0-4\]についてはクライアント側で制御できますが、この値はサーバー側が開始したNumCellCaches (0x03) およびtotalEntriesCacheLimit\[0-4\] (0x258, 0x258, 0x10000, 0x0, 0x0)の値を超えることはできません（図11参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-19.png)*図10 TS\_BITMAPCACHE\_CAPABILITYSET\_REV2*

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-20.png)*図11 CAPAPI\_COMBINE\_TS\_BITMAPCACHE\_CAPABILITYSET\_REV2関数*

これを踏まえれば、bitmapCacheListPoolLenの最大値はbitmapCacheListPoolLen = 0xC \* (0x10000 + 0x258 + 0x258 + 4) = 0xc3870 となることが計算できます。つまり、理論上はカーネル プール内の 0x8 \* (0x10000 + 0x258 + 0x258 + 4) = 0x825a0 バイト分のデータを制御できることになります（図12参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-21.png)*図12 Persistent Key List PDU のメモリ ダンプ*

ただし、予想とは異なり、RDPクライアントはビットマップ キャッシュ リスト プール内の全データを制御できるわけではないことが観測されました。コントロールされた各8バイト分のデータの間には、4バイト分、コントロールされないデータ（インデックス値）が存在しており、これはシェルコードにとっては使い勝手がよくありません。さらに正規にPersistent Key List PDUを送信できるのは1回だけであることから、サイズが0xc3870（先に計算したbitmapCacheListPoolLenの最大値）のカーネル プールを複数回割り当てることはできません。とはいえ、カーネル プールが同じメモリ アドレスに割り当てられる統計的特性はまだ残っていますし、ビットマップ キャッシュ リスト プールの割り当て前には、サイズが0x2b522c（x86の場合）ないし0x2b5240（x64の場合）のカーネル サイズ プールが常に割り当てられます。このことは、図13に示すとおり、特にx64環境でのヒープ グルーミングに役立ちます。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-22.png)*図13 Persistent Key List PDUの統計的特性*

### Refresh Rect PDU

[MS-RDPBCGR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c)のドキュメントによれば、Refresh Rect PDUを使用することで、RDPクライアントはサーバーにセッション画面領域の1つ以上の矩形を再描画するよう要求することができます。Refresh Rect PDU 構造体には、一般PDUヘッダとRefresh Rect PDU Data（refreshRectPduData (可変長)）が含まれています。後者のrefreshRectPduDataの構造体を示したのが図14です。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-23.png)*図14 Refresh Rect PDU Data*

ここでnumberOfAreasフィールドは、areasToRefreshフィールドのInclusive Rectangle構造体の値を定義する8ビットの符号なし整数です。また、areaToRefreshフィールドは、TS\_RECTANGLE16構造体の配列です（図15参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-24.png)*図15 Inclusive Rectangle (TS\_RECTANGLE16)*

Refresh Rect PDUは、一連の画面領域「Inclusive Rectangle」配列を使用して、サーバーに対し、セッション画面領域の1つ以上の矩形を再描画するよう通知するために設計されています。これはチャネルID 0x03ea（サーバー チャネルID）のデフォルトのオープン チャネルにもとづいて行われます。図1に示した接続シーケンスが終了すると、Refresh Rect PDUはRDPサーバーによって受信/パースされます。ここで最も重要なのが、正規の場合にもRefresh Rect PDUは複数回送信されうるということです。TS\_RECTANGLE16構造体には8バイトという制限があり、RDPクライアントで制御できるのは8バイトのみで大量のデータを制御できるわけではないですが、それでもカーネルに任意のデータを書き込むにあたっては非常に良い候補となるでしょう。

### Refresh Rect PDUでカーネルにデータを書き込む方法

通常の復号化されたRefresh Rect PDUを図16に示します。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-25.png)*図16 復号化されたRefresh Rect PDU*

カーネルモジュールRDPWD.sysの関数WDW\_InvalidateRectは、Refresh Rect PDUのパースを担当しています（図17参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-26.png)*図17 RDPWD!WDW\_InvalidateRectのスタック トレース*

図18に示したとおり、WDW\_InvalidateRect 関数はRefresh Rect PDUストリームをパースし、同ストリームからループ カウントとしてnumberOfAreasフィールドを取得します。これはbyte型のフィールドなので、numberOfAreasの最大値は0xFFで、最大ループカウントも0xFFということになります。ループ内で、WDW\_InvalidateRect関数はTS\_RECTANGLE16構造体の左、上、右、および下のフィールドを取得し、それらをスタック上の構造体に入れ、WDICART\_IcaChannelInputの5番目のパラメータとします。話がでたついでに言及しておくと、WDICART\_IcaChannelInputの6番目のパラメータは定数0x808で、この定数が効率的なスプレーにどのように役立つかは後で示します。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-27.png)*図18 RDPWD!WDW\_InvalidateRect関数*

WDICART\_IcaChannelInputは最終的にカーネルモジュールtermdd.sysの関数IcaChannelInputInternalを呼び出します。一連の条件チェックがTrueの場合、関数IcaChannelInputInternalはExAllocatePoolWithTagを呼び出して、inputSize\_6th\_para + 0x20というサイズのカーネル プールを割り当てます（図19参照）。このため、関数IcaChannelInputInternalがRDPWD!WDW\_InvalidateRectに呼び出された時点で、inputSize\_6th\_para=0x808となり、カーネル プールのサイズは0x828になります。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-28.png)*図19 termdd!IcaChannelInputInternal ExAllocatePoolWithTagとmemcpy*

カーネル プールの割り当てが成功すると、memcpyが呼び出され、memcpyがinput\_buffer\_2を新しく割り当てられたカーネル プール メモリにコピーします。図20は、呼び出し元がRDPWD!WDW\_InvalidateRectである場合のmemcpyのパラメータを示しています。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-29.png)*図20 termdd!IcaChannelInputInternalのmemcpyのwindbgダンプ*

ここで興味深いのが、関数memcpyのソース アドレスはRDPWD!WDW\_InvalidateRectのスタック上にあるstRect構造体からきていて、RDPWD!WDW\_InvalidateRectには最初の3 DWORDしかセットされていないことです（図21参照)。残ったメモリはスタック上で初期化されていないコンテンツで、ここからは容易に情報を漏えいさせることができます。さらに、サイズが0x808のメモリに12バイトのデータを保存するというのもスプレーに適しています。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-30.png)*図21 RDPWD!WDW\_InvalidateRectのstRect構造のセット*

この情報を利用して、RDPクライアントがnumberOfAreasフィールドを0xFFにしたRefresh Rect PDUを1つ送信すれば、RDPサーバーはtermdd!IcaChannelInputInternalを0xFF回呼び出し、termdd!IcaChannelInputInternalの呼び出しごとに0x828バイト分のカーネル プール メモリを割り当て、そのカーネル プールにクライアントが制御するTS\_RECTANGLE16構造体の8バイト分をコピーすることになります。したがって、numberOfAreasフィールドが0xFFに設定されたRefresh Rect PDUひとつで、0x828というサイズのカーネルプールが0xFF個割り当てられることになります。つまり、理論上では、RDPクライアントがRefresh Rect PDUを0x200回送信すれば、RDPサーバーは0x828というサイズの非ページ カーネル プールを約0x20000割り当てることになります。サイズが0x828のカーネル プールがサイズ0x1000ごとに並ぶので、これらはカーネル プールの非常に広い範囲にまたがって広がりますし、同時にクライアントが制御する8バイトのデータが各0x1000のカーネル プールの固定のオフセット0x02cの位置にコピーされることになります。この様子を図22に示します。つまり、RefreshRect PDUを使用すれば、カーネルに安定してプール スプレーが得られることになります。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-31.png)*図22 RDPWD!WDW\_InvalidateRectスプレー*

ポインタ（図23の変数v14）がtermdd!\_IcaQueueReadChannelRequestによって変更されたとき、ExAllocatePoolWithTagとmemcpyが呼び出されず、図23に示すように比較がFalseになると、ルーチンが\_IcaCopyDataToUserBufferルーチンに入り、プールの割り当てに失敗するケースがあります。そうしたケースであっても、Refresh Rect PDUを繰り返し送信すれば、プールの割り当てに何度か失敗はしても、カーネル プールのスプレーには成功することがあります。

これに加え、RDPサーバーが使用後のカーネル プールを解放するさい、そのカーネル プールのコンテンツをクリアせず、カーネルにスプレーするデータをエクスプロイト上有効に使えるケースもあります。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-32.png)*図23 termdd!IcaChannelInputInternal IcaCopyDataToUserBuffer*

### RDPDR Client Name Request PDU

[MS-RDPEFS](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpefs/34d9de58-b2b5-40b6-b970-f82d4603bdb5)のドキュメントによれば、RDPDR Client Name Request PDUは「Remote Desktop Protocol: File System Virtual Channel Extension」で説明されており、スタティックな仮想チャネル上でRDPDRという名前で稼働しています。MS-RDPEFSプロトコルの目的は、サーバーからクライアント ファイル システムにアクセスをリダイレクトすることです。Client Name Requestは、図24に示すように、クライアントからサーバーに送信される2番目のPDUです。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-33.png)*図24 File System Virtual Channel Extension プロトコルの初期化*

クライアントは、Client Name Request PDUを使ってマシン名をサーバーに送信します（図25参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-34.png)*図25 Client Name Request (DR\_CORE\_CLIENT\_NAME\_REQ)*

ヘッダは4バイトのRDPDR\_HEADERで、ComponentフィールドにはRDPDR\_CTYP\_COREがセットされ、PacketIdフィールドにはPAKID\_CORE\_CLIENT\_NAMEがセットされています。ComputerNameLenフィールド（4バイト）は、ComputerNameフィールドのバイト長を指定する32ビットの符号なし整数です。ComputerNameフィールド（可変長）は、ASCIIまたはUnicode文字の可変長配列で、その形式はUnicodeFlagフィールドによって決定されます。これは、クライアント コンピュータ名を識別する文字列です。

### RDPDR Client Name Request PDUを使用してカーネルにデータを書き込む方法

RDPDR Client Name Request PDUについては、次のことが言えます。

* Client Name Request PDUは正規の方法で複数回送信可能。
* 各リクエストに対し、RDPサーバーは情報格納用のカーネル プールを割り当てる。
* 最も重要なのは、PDUのコンテンツ長がRDPクライアント側で完全に制御可能であること。

以上より、この方法はカーネル メモリにデータを書き込むのにうってつけの選択といえます。典型的なRDPDR Client Name Request PDUを図26に示します。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-35.png)*図26 Client Name Request PDUのメモリダンプ*

RDPサーバーがClient Name Request PDUを受信すると、カーネルモジュールtermdd.sysの関数IcaChannelInputInternalが最初に呼び出され、まずはチャネルデータをディスパッチし、次にRDPDRモジュールが呼び出されてClient Name Request PDUのデータ部分をパースします。Client Name Request PDU用の関数IcaChannelInputInternalは、Refresh Rect PDUのものと同様のコード ロジックを採用しています。つまり、TSic タグを指定してExAllocatePoolWithTagを呼び出してカーネルメモリを割り当て、memcpyを使用してClient Name Request Dataを新しく割り当てられたカーネル メモリにコピーします（図27参照）。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-36.png)*図27 Client Name Request*

ここまでで私たちは、コピーされたデータコンテンツとその長さの両方がRDPクライアントに制御されていることを示してきました。また、Client Name Request PDU は、正規の方法で複数回送信できることも示しました。Client Name Request PDUは柔軟性にすぐれ、エクスプロイトしやすい特性を持っています。このことから、解放されたカーネルプールを再要求するUAF（Use After Free）脆弱性エクスプロイトの目的にも、カーネル プールにシェルコードを書き込む目的にも、クライアント側でコントロールできる連続したデータをカーネル メモリにスプレーするという目的にも、Client Name Request PDUを使うことができます。

図28に示すように、私たちはRDPDR Client Name Request PDUを使用し、安定してカーネル プール割り当てを取得することに成功したほか、クライアントがコントロールするデータをカーネル プールに書き込むことにも成功しました。

![](https://unit42-preview.paloaltonetworks.com/wp-content/uploads/2019/08/word-image-37.png)*図28 Client Name Request PDUを使って安定的にカーネル プールの割り当てを取得*

## **本脆弱性の検出と緩和**

CVE-2019-0708はRDPを標的とする重大な脆弱性で、認証なしでのアクセス、エクスプロイトが可能です。[MSRCアドバイザリ](https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708)によると、Windows XP、Windows 2003、Windows 7およびWindows 2008はすべて、本脆弱性の影響を受けます。これらのWindowsバージョンを使用している組織は、同脅威を防ぐために、該当するシステムにセキュリティ更新プログラムを適用することが強く推奨されます。さらに、可能なかぎり組織外からのRDPアクセスを無効ないし制限すべきです。

パロアルトネットワークスのお客様は、次の方法で本脆弱性から保護されています。

* Trapsは、Windows XP、Windows 7、Windows Server 2003、Windows Server 2008の各ホストに対する本脆弱性のエクスプロイトを防止します。
* Threat Preventionは本脆弱性を使ったスキャナおよびエクスプロイトを検出します。

## **結論**

本稿で私たちは、RDPのPDUを使ってカーネルに任意のデータを書き込む3つの方法について解説しました。

* Bitmap Cache PDUを使用した場合、RDPサーバーは、サイズが0x2b5200のカーネル プールを割り当てた後、サイズ0xc3870のカーネル プールを割り当て、クライアントが制御可能なデータをそこに書き込むことができます。ただし、サイズ0xc3870のカーネル プール割り当ては、1回しか実行できません。
* Refresh Rect PDUを使用した場合、サイズ0x1000ごとに並んだサイズ0x828のカーネルプールを多数スプレーすることができ、各サイズ0x828のカーネル プールにクライアントが制御可能なデータを8バイト分書き込むことができます。
* RDPDR Client Name Request PDUを使用した場合、ユーザーがコントロール可能なサイズのカーネル プールをスプレーでき、そのカーネル プールをやはりユーザーがコントロール可能なデータで埋めることができます。

私たちはこのほかにも、まだドキュメント化されていない、容易かつ安定的にCVE-2019-0708をエクスプロイトできる方法があるものと考えています。このためユーザーは、上記の検出・緩和策のいずれかを使用し、脆弱なシステムが保護されるよう対策を講じる必要があります。

本稿の編集に協力してくださったMike Harbisonに、この場を借りて感謝を申し上げます。ありがとうございました。
トップに戻る

### タグ

* [Bluekeep](https://unit42.paloaltonetworks.com/ja/tag/bluekeep-ja/ "Bluekeep")
* [CVE-2019-0708](https://unit42.paloaltonetworks.com/ja/tag/cve-2019-0708-ja/ "CVE-2019-0708")
* [RDP](https://unit42.paloaltonetworks.com/ja/tag/rdp-ja/ "RDP")  
  [Threat Research Center](https://unit42.paloaltonetworks.com/ja/ "Threat Research") [次ページ:コンテナでプログラムをrootとして実行することがなぜ問題なのか KubernetsのCVE-2019-11245を例に考える](https://unit42.paloaltonetworks.com/ja/non-root-containers-kubernetes-cve-2019-11245-care/ "コンテナでプログラムをrootとして実行することがなぜ問題なのか KubernetsのCVE-2019-11245を例に考える")

### 目次

* 

### 関連記事

* [Wiresharkによるパケット解析講座 11: RDPトラフィックの復号](https://unit42.paloaltonetworks.com/ja/wireshark-tutorial-decrypting-rdp-traffic/ "article - table of contents")
* [Windows RDP 脆弱性 CVE-2019-0708 (BlueKeep) のエクスプロイト: Refresh Rect PDU と RDPDR Client Name Request PDU を使いシステム権限でリモートコード実行](https://unit42.paloaltonetworks.com/ja/cve-2019-0708-bluekeep/ "article - table of contents")
* [「Xbash」 ボットネット、ランサムウェア、暗号通貨マイニングをワームで組み合わせた、LinuxとWindowsを標的にするマルウェア](https://unit42.paloaltonetworks.com/ja/unit42-xbash-combines-botnet-ransomware-coinmining-worm-targets-linux-windows/ "article - table of contents")

## 関連項目 リソース

![Pictorial representation of a severe Linux vulnerability. Close-up of a woman wearing glasses and focusing intently on a computer screen.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/05/05_Vulnerabilities_1920x900-2-1-786x368.jpg)  
[![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年5月5日 [#### Copy Fail:ここ数年で最も深刻なLinuxの脅威について必要な知識](https://unit42.paloaltonetworks.com/ja/cve-2026-31431-copy-fail/)

* [Containers](https://unit42.paloaltonetworks.com/ja/tag/containers-ja/ "Containers")

* [CVE-2026-31431](https://unit42.paloaltonetworks.com/ja/tag/cve-2026-31431/ "CVE-2026-31431")

* [Kubernetes](https://unit42.paloaltonetworks.com/ja/tag/kubernetes-ja/ "Kubernetes")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/cve-2026-31431-copy-fail/ "Copy Fail:ここ数年で最も深刻なLinuxの脅威について必要な知識")  
  ![Pictorial representation of BeyondTrust vulnerability CVE-2026-1731. Digital art depicting a stylized mountain range with vibrant blue and red hues. The peaks are accentuated by glowing particles and an abstract, starry backdrop, creating a futuristic landscape.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/02/14_Overview_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年2月19日 [#### BeyondTrustの深刻な脆弱性（CVE-2026-1731）の悪用においてVShellおよびSparkRATを確認](https://unit42.paloaltonetworks.com/ja/beyondtrust-cve-2026-1731/)

* [Bash](https://unit42.paloaltonetworks.com/ja/tag/bash-ja/ "bash")

* [CVE-2026-1731](https://unit42.paloaltonetworks.com/ja/tag/cve-2026-1731/ "CVE-2026-1731")

* [Powershell](https://unit42.paloaltonetworks.com/ja/tag/powershell-ja/ "Powershell")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/beyondtrust-cve-2026-1731/ "BeyondTrustの深刻な脆弱性（CVE-2026-1731）の悪用においてVShellおよびSparkRATを確認")  
  ![](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/02/AdobeStock_1020436911-786x440.jpeg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年2月17日 [#### 野放し状態で悪用されているIvanti EPMMの深刻な脆弱性](https://unit42.paloaltonetworks.com/ja/ivanti-cve-2026-1281-cve-2026-1340/)

* [CVE-2026-1281](https://unit42.paloaltonetworks.com/ja/tag/cve-2026-1281/ "CVE-2026-1281")

* [CVE-2026-1340](https://unit42.paloaltonetworks.com/ja/tag/cve-2026-1340/ "CVE-2026-1340")

* [Ivanti](https://unit42.paloaltonetworks.com/ja/tag/ivanti-ja/ "Ivanti")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/ivanti-cve-2026-1281-cve-2026-1340/ "野放し状態で悪用されているIvanti EPMMの深刻な脆弱性")  
  ![Pictorial representation of CVE-2025-0921. Digital illustration of a map of North America with interconnected glowing lines and dots symbolizing network connections across the continent.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/06_Vulnerabilities_1920x900-2-1-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/icon-threat-research.svg)脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/) 2026年1月30日 [#### SCADAシステムに存在する特権ファイルシステムの脆弱性](https://unit42.paloaltonetworks.com/ja/iconics-suite-cve-2025-0921/)

* [CVE-2025-0921](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-0921/ "CVE-2025-0921")

* [Privilege escalation](https://unit42.paloaltonetworks.com/ja/tag/privilege-escalation-ja/ "privilege escalation")

* [SCADA](https://unit42.paloaltonetworks.com/ja/tag/scada/ "SCADA")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/iconics-suite-cve-2025-0921/ "SCADAシステムに存在する特権ファイルシステムの脆弱性")  
  ![Pictorial representation of remote code execution in AI and machine learning libraries. Close-up of a woman wearing glasses and focusing intently on a computer screen.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/05_Vulnerabilities_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/icon-threat-research.svg)脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/) 2026年1月13日 [#### 最新のAI/MLフォーマットとライブラリによるリモート コード実行](https://unit42.paloaltonetworks.com/ja/rce-vulnerabilities-in-ai-python-libraries/)

* [Apple](https://unit42.paloaltonetworks.com/ja/tag/apple-ja/ "Apple")

* [CVE-2025-23304](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-23304/ "CVE-2025-23304")

* [CVE-2026-22584](https://unit42.paloaltonetworks.com/ja/tag/cve-2026-22584/ "CVE-2026-22584")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/rce-vulnerabilities-in-ai-python-libraries/ "最新のAI/MLフォーマットとライブラリによるリモート コード実行")  
  ![Pictorial representation of MongoBleed, CVE-2025-14847. Digital image featuring a glowing padlock icon superimposed on a background of streaming blue binary code, symbolizing cybersecurity.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/AdobeStock_233494953-786x429.jpeg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2026年1月13日 [#### 脅威ブリーフ: MongoDB の脆弱性 (CVE-2025-14847)](https://unit42.paloaltonetworks.com/ja/mongobleed-cve-2025-14847/)

* [CVE-2025-14847](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-14847/ "CVE-2025-14847")

* [MongoDB](https://unit42.paloaltonetworks.com/ja/tag/mongodb-ja/ "MongoDB")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/mongobleed-cve-2025-14847/ "脅威ブリーフ: MongoDB の脆弱性 (CVE-2025-14847)")  
  ![Pictorial representation of CVE-2025-55182 (React) and CVE-2025-66478 (Next.js). Close-up of a digital display on electronic equipment with illuminated text reading "SYSTEM HACKED" in red, set against a blurred background of blue and red lights.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/12/02_Vulnerabilities_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2025年12月12日 [#### React Server Components における重大な脆弱性の悪用 (12月12日更新)](https://unit42.paloaltonetworks.com/ja/cve-2025-55182-react-and-cve-2025-66478-next/)

* [Cobalt Strike](https://unit42.paloaltonetworks.com/ja/tag/cobalt-strike-ja/ "Cobalt Strike")

* [CVE-2025-55182](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-55182-ja/ "CVE-2025-55182")

* [CVE-2025-66478](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-66478-ja/ "CVE-2025-66478")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/cve-2025-55182-react-and-cve-2025-66478-next/ "React Server Components における重大な脆弱性の悪用 (12月12日更新)")  
  ![Pictorial representation of an authentication coercion attack. Panoramic view of a city skyline at night, featuring vibrant light beams from skyscrapers and a deep blue sky.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/11/07_Vulnerabilities_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/icon-threat-research.svg)脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/) 2025年11月10日 [#### 新たなアップデート。進化し続ける強制認証テクニック](https://unit42.paloaltonetworks.com/ja/authentication-coercion/)

* [Mimikatz](https://unit42.paloaltonetworks.com/ja/tag/mimikatz-ja/ "Mimikatz")

* [PrintNightmare](https://unit42.paloaltonetworks.com/ja/tag/printnightmare-ja/ "PrintNightmare")

* [Privilege escalation](https://unit42.paloaltonetworks.com/ja/tag/privilege-escalation-ja/ "privilege escalation")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/authentication-coercion/ "新たなアップデート。進化し続ける強制認証テクニック")  
  ![Pictorial representation of LANDFALL spyware. An illustration of a glowing red warning icon centered on a detailed blue circuit board background, representing a vulnerability in Samsung Galaxy devices.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/11/09_Nation-State-cyberattacks_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/06/icon-threat-research.svg)脅威リサーチ](https://unit42.paloaltonetworks.com/ja/category/threat-research-ja/) 2025年11月7日 [#### LANDFALL: Samsungデバイスを標的とするエクスプロイト チェーンで使用される、新種の商用グレードAndroidスパイウェア](https://unit42.paloaltonetworks.com/ja/landfall-is-new-commercial-grade-android-spyware/)

* [Android](https://unit42.paloaltonetworks.com/ja/tag/android-ja/ "Android")

* [Apple](https://unit42.paloaltonetworks.com/ja/tag/apple-ja/ "Apple")

* [CVE-2025-21042](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-21042-ja/ "CVE-2025-21042")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/landfall-is-new-commercial-grade-android-spyware/ "LANDFALL: Samsungデバイスを標的とするエクスプロイト チェーンで使用される、新種の商用グレードAndroidスパイウェア")  
  ![Pictorial representation of CVE-2025-59287. Digital image of a glowing padlock symbol representing cybersecurity on a network grid with blue and orange lights.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/10/08_DNS_Overview_1920x900-786x368.jpg)  
  [![category icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2024/07/top-threats.svg)主なサイバー脅威](https://unit42.paloaltonetworks.com/ja/category/top-cyberthreats-ja/) 2025年11月3日 [#### Microsoft WSUSのリモートコード実行の脆弱性（CVE-2025-59287）、実環境における活発な悪用を確認（11月3日更新）](https://unit42.paloaltonetworks.com/ja/microsoft-cve-2025-59287/)

* [CVE-2025-59287](https://unit42.paloaltonetworks.com/ja/tag/cve-2025-59287-ja/ "CVE-2025-59287")

* [Microsoft](https://unit42.paloaltonetworks.com/ja/tag/microsoft-ja/ "Microsoft")

* [Microsoft Vulnerability](https://unit42.paloaltonetworks.com/ja/tag/microsoft-vulnerability-ja/ "Microsoft Vulnerability")  
  [今すぐ読む ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/ja/microsoft-cve-2025-59287/ "Microsoft WSUSのリモートコード実行の脆弱性（CVE-2025-59287）、実環境における活発な悪用を確認（11月3日更新）")

* ![Slider arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/slider-arrow-left.svg)

* ![Slider arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/slider-arrow-left.svg)  
  ![Close button](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/close-modal.svg) ![Enlarged Image]()  
  ![Newsletter](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/04/Unit-42_get-updates-banner.png)  
  ![UNIT 42 Small Logo](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/palo-alto-logo-small.svg) Unit 42 からの最新情報を取得

## 進化する脅威の状況を常に先取り

メール アドレス

本フォームを送信することにより、[利用規約](https://www.paloaltonetworks.jp/legal-notices/terms-of-use)に同意し、[プライバシー ポリシー](https://www.paloaltonetworks.jp/legal-notices/privacy)を承認したことになります。

本サイトは reCAPTCHA で保護されており、Googleの[プライバシー ポリシー](https://policies.google.com/privacy) と[サービス利用規約](https://policies.google.com/terms)が適用されます。

Invalid captcha!
サブスクライブ ![Right Arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/right-arrow.svg) ![loader](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-loader.svg)  
{#footer} 製品とサービス

* [AI利用ネットワーク セキュリティ プラットフォーム](https://www.paloaltonetworks.jp/network-security)

* [AIのセキュア バイ デザイン](https://www.paloaltonetworks.jp/precision-ai-security/secure-ai-by-design)

* [Prisma AIRS](https://www.paloaltonetworks.jp/prisma/prisma-ai-runtime-security)

* [AI Access Security](https://www.paloaltonetworks.jp/sase/ai-access-security)

* [クラウド提供型セキュリティ サービス](https://www.paloaltonetworks.jp/network-security/security-subscriptions)

* [Advanced Threat Prevention](https://www.paloaltonetworks.jp/network-security/advanced-threat-prevention)

* [Advanced URL Filtering](https://www.paloaltonetworks.jp/network-security/advanced-url-filtering)

* [Advanced WildFire](https://www.paloaltonetworks.jp/network-security/advanced-wildfire)

* [Advanced DNS Security](https://www.paloaltonetworks.jp/network-security/advanced-dns-security)

* [Enterprise Data Loss Prevention](https://www.paloaltonetworks.jp/sase/enterprise-data-loss-prevention)

* [Enterprise IoT Security](https://www.paloaltonetworks.jp/content/pan/ja_JP/network-security/enterprise-iot-security)

* [Medical IoT Security](https://www.paloaltonetworks.jp/network-security/medical-device-security)

* [Industrial OT Security](https://www.paloaltonetworks.jp/content/pan/ja_JP/network-security/industrial-ot-security)

* [SaaS Security](https://www.paloaltonetworks.jp/sase/saas-security)

* [次世代ファイアウォール](https://www.paloaltonetworks.jp/network-security/next-generation-firewall)

* [ハードウェア ファイアウォール](https://www.paloaltonetworks.jp/network-security/hardware-firewall-innovations)

* [ソフトウェア ファイアウォール](https://www.paloaltonetworks.jp/network-security/software-firewalls)

* [Strata Cloud Manager](https://www.paloaltonetworks.jp/network-security/strata-cloud-manager)

* [SD-WAN for NGFW](https://www.paloaltonetworks.jp/network-security/sd-wan-subscription)

* [PAN-OS](https://www.paloaltonetworks.jp/network-security/pan-os)

* [Panorama](https://www.paloaltonetworks.jp/network-security/panorama)

* [セキュア アクセス サービス エッジ](https://www.paloaltonetworks.jp/sase)

* [Prisma SASE](https://www.paloaltonetworks.jp/sase)

* [App Acceleration](https://www.paloaltonetworks.jp/sase/app-acceleration)

* [自律型デジタルエクスペリエンス管理](https://www.paloaltonetworks.jp/sase/adem)

* [Enterprise DLP](https://www.paloaltonetworks.jp/sase/enterprise-data-loss-prevention)

* [Prisma Access](https://www.paloaltonetworks.jp/sase/access)

* [Prisma Browser](https://www.paloaltonetworks.jp/sase/prisma-browser)

* [Prisma SD-WAN](https://www.paloaltonetworks.jp/sase/sd-wan)

* [リモート ブラウザ分離](https://www.paloaltonetworks.jp/sase/remote-browser-isolation)

* [SaaS Security](https://www.paloaltonetworks.jp/sase/saas-security)

* [AI駆動型セキュリティ運用プラットフォーム](https://www.paloaltonetworks.jp/cortex)

* [Cloud Security](https://www.paloaltonetworks.jp/cortex/cloud)

* [Cortex Cloud](https://www.paloaltonetworks.jp/cortex/cloud)

* [Application Security](https://www.paloaltonetworks.jp/cortex/cloud/application-security)

* [Cloud Posture Security](https://www.paloaltonetworks.jp/cortex/cloud/cloud-posture-security)

* [Cloud Runtime Security](https://www.paloaltonetworks.jp/cortex/cloud/runtime-security)

* [Prisma Cloud](https://www.paloaltonetworks.jp/prisma/cloud)

* [AI駆動型SOC](https://www.paloaltonetworks.jp/cortex)

* [Cortex XSIAM](https://www.paloaltonetworks.jp/cortex/cortex-xsiam)

* [Cortex XDR](https://www.paloaltonetworks.jp/cortex/cortex-xdr)

* [Cortex XSOAR](https://www.paloaltonetworks.jp/cortex/cortex-xsoar)

* [Cortex Xpanse](https://www.paloaltonetworks.jp/cortex/cortex-xpanse)

* [Unit 42マネージド ディテクション\&レスポンス](https://www.paloaltonetworks.jp/cortex/managed-detection-and-response)

* [マネージドXSIAM](https://www.paloaltonetworks.jp/cortex/managed-xsiam)

* [次世代のアイデンティティ セキュリティ](https://www.paloaltonetworks.jp/idira)

* [特権アクセス管理](https://www.paloaltonetworks.jp/idira/human/privileged-access-management)

* [アイデンティティ管理とアクセス管理](https://www.paloaltonetworks.jp/idira/human/identity-and-access-management)

* [Endpoint Privilege Manager](https://www.paloaltonetworks.jp/idira/human/endpoint-privilege-manager)

* [アイデンティティ ガバナンス](https://www.paloaltonetworks.jp/idira/human/identity-governance)

* [従業員パスワード管理](https://www.paloaltonetworks.jp/idira/human/workforce-password-management)

* [エージェンティック アイデンティティ](https://www.paloaltonetworks.jp/idira/agentic)

* [シークレット管理](https://www.paloaltonetworks.jp/idira/machine/secrets-management)

* [統合型シークレット ガバナンス](https://www.paloaltonetworks.jp/idira/machine/unified-secrets-governance)

* [アプリケーションの認証情報配信](https://www.paloaltonetworks.jp/idira/machine/application-credentials-delivery)

* [ベンダーの特権アクセス](https://www.paloaltonetworks.jp/idira/human/vendor-privileged-access)

* [脅威インテリジェンス\&インシデント レスポンス サービス](https://www.paloaltonetworks.jp/unit42)

* [予防評価](https://www.paloaltonetworks.jp/unit42/assess)

* [インシデント レスポンス](https://www.paloaltonetworks.jp/unit42/respond)

* [セキュリティ戦略を変革](https://www.paloaltonetworks.jp/unit42/transform)

* [脅威インテリジェンスについて](https://www.paloaltonetworks.jp/unit42/threat-intelligence-partners)  
  会社名

* [パロアルトネットワークスについて](https://www.paloaltonetworks.jp/about-us)

* [採用情報](https://jobs.paloaltonetworks.com/en/)

* [お問合せ](https://www.paloaltonetworks.jp/company/contact-sales)

* [企業責任](https://www.paloaltonetworks.com/about-us/corporate-responsibility)

* [お客様向け](https://www.paloaltonetworks.jp/customers)

* [IR](https://investors.paloaltonetworks.com/)

* [拠点](https://www.paloaltonetworks.com/about-us/locations)

* [ニュースルーム](https://www.paloaltonetworks.jp/company/newsroom)  
  人気のあるリンク

* [ブログ](https://www.paloaltonetworks.com/blog/?lang=ja)

* [コミュニティ](https://www.paloaltonetworks.com/communities)

* [コンテンツライブラリ](https://www.paloaltonetworks.jp/resources)

* [Cyberpedia](https://www.paloaltonetworks.jp/cyberpedia)

* [イベントセンター](https://events.paloaltonetworks.com/)

* [電子メール設定の管理](https://start.paloaltonetworks.com/preference-center)

* [製品A〜Z](https://www.paloaltonetworks.jp/products/products-a-z)

* [製品認証](https://www.paloaltonetworks.com/legal-notices/trust-center/compliance)

* [脆弱性の報告](https://www.paloaltonetworks.com/security-disclosure)

* [サイトマップ](https://www.paloaltonetworks.jp/sitemap)

* [テクニカル ドキュメント](https://docs.paloaltonetworks.com/)

* [Unit 42](https://unit42.paloaltonetworks.jp/)

* [個人情報の販売および共有禁止](https://panwedd.exterro.net/portal/dsar.htm?target=panwedd)
  ![Palo Alto Networks Logo](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/pan-logo-dark.svg)

* [プライバシー](https://www.paloaltonetworks.jp/legal-notices/privacy)

* [トラスト センター](https://www.paloaltonetworks.jp/legal-notices/trust-center)

* [利用規約](https://www.paloaltonetworks.jp/legal-notices/terms-of-use)

* [ドキュメント](https://www.paloaltonetworks.jp/legal-notices)

Copyright © 2026 Palo Alto Networks. All Rights Reserved

* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/youtube-black.svg)](https://www.youtube.com/user/paloaltonetworks)
* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/twitter-x-black.svg)](https://twitter.com/PaloAltoNtwks)
* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/facebook-black.svg)](https://www.facebook.com/PaloAltoNetworks/)
* [![](https://www.paloaltonetworks.jp/etc/clientlibs/clean/imgs/social/linkedin-black.svg)](https://www.linkedin.com/company/palo-alto-networks)
* [![](https://www.paloaltonetworks.jp/content/dam/pan/en_US/images/icons/podcast.svg)](https://unit42.paloaltonetworks.com/unit-42-threat-vector-podcast/)
* JP  
  Select your language  
  ![Play](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-play-icon.svg) ![Pause](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-pause-icon1.svg) ![Minimize](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-minimize.svg) ![Close button](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/close-modal.svg)

### Default Heading

Read the article ![Right Arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/right-arrow.svg)  
Seekbar

![Play](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-play-icon.svg) ![Pause](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-pause-icon1.svg)  
![Volume](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-volume.svg)  
Volume
![Minimize](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-minimize.svg)
