
Windows NotepadのMarkdownレンダリングにおけるコマンドインジェクション脆弱性の技術的分析と概念実証。細工されたリンクをControl+Clickでクリックすることで発動し、悪用シナリオと緩和策についての考察を含む。
*このコンテンツは、PatchPoint 購読者向けに提供される月次レポートの一部に相当します。
Microsoft は、2026年2月のNotepadにおけるRCE脆弱性のパッチを公開しました。この脆弱性は、Windows NotepadのMarkdownレンダリングにおいて、Controlボタンと一緒にリンクがクリックされた際に発生するコマンドインジェクションの脆弱性です。
この脆弱性は簡単に説明できます。MarkdownでControlクリックによりリンクにアクセスする際、URIスキームに対するフィルタリングがないため、そのプロトコルのハンドラアプリケーションが実行され、これに対する警告ダイアログは表示されません。この脆弱性の影響範囲は以下の通りです。
既にパッチが適用されたバージョンと未適用のバージョンは、以下のように確認できます。
MSRCのFAQでは以下のように説明されています。
Q. 攻撃者はこの脆弱性をどのように悪用する可能性がありますか?
A. 攻撃者は、Notepadで開かれたMarkdownファイル内の悪意のあるリンクをユーザーにクリックさせることで、検証されていないプロトコルを起動させ、リモートファイルを読み込んで実行させる可能性があります。
Q. CVSSメトリックによると、攻撃ベクトルはネットワーク(AV:N)であり、ユーザー操作が必要です(UI:R)。リモートコード実行のターゲットコンテキストは何ですか?
A. 悪意のあるコードは、Markdownファイルを開いたユーザーのセキュリティコンテキストで実行され、攻撃者にそのユーザーと同じ権限を与えることになります。
上記の内容には、可能なシナリオと不可能なシナリオがあります。結論から先に述べると、「通常の状況」では容易ではありません。



結論から先に述べると、攻撃を成功させるには追加の脆弱性が必要であり、非効率な攻撃ベクトルとなります。これは、制限付きバージョン + ダウンロード -> 実行 -> Markdown表示 -> Control+クリックを含むユーザー操作を必要とする環境を見つけ、さらに別の脆弱性を連鎖させて攻撃することは、非常に非効率だからです。
以下は、「通常の状況では困難」と言ったことについての詳細な説明です。一般的にRCEと言う場合、被害者がファイルをダウンロードして実行した際にコードがリモートで実行されるという問題が発生し得ます。一般的に、この時点で問題となるのはMoTW(Mark of the Web)です。
インターネットからダウンロードした場合、以下のようにdir /rコマンドで確認すると、ADSを通じてMoTW設定(ZoneID=3)が登録されます。


このようにMoTWが設定されている場合、以下のように一種のセキュリティ警告メッセージに相当するユーザー操作のためのウィンドウが表示されます。

警告ダイアログをクリックすると、以下のように実行されます。

次に、これに対してMoTWをバイパスする方法を検討する必要があります。この脆弱性はLPEではないため、同じ権限で作成され、そうであればローカル環境で作成された攻撃ペイロードは無意味になります。
MoTWをバイパスするには、いくつかの方法があります。一般的に使用される方法は、WebDAVとUNCパスを通じたSMBを使用する方法です。
可能だが困難な方法は、Follina脆弱性のようなネイティブスキームを使用することです。最も基本的なms-*は良い方法です。(ただし、ms-*の脆弱性はより有用な方法で確実に機能すると考えています。)最近ではTeamsもデフォルトでインストールされるため、msteams: スキームも機能し、OneDrive用のodopenスキームも機能します。

上記のように、ms-mmsysを実行すると、個別の認証ダイアログなしでレジストリに登録された方法に従って動作します。

これは可能であることを意味しますが、実際には新しい脆弱性の領域であるため、方法論のみが提示されていることにご注意ください。
ユーザーが設定すれば、さらに別のシナリオもあり得ます。ActiveX/VBScriptを使用したHTMLによる方法です。「IE.HTTP:」スキームを使用できますが、問題はIEがデフォルトに設定されていないことであり、これは大きな問題です。😂 IEにリダイレクトするための個別の設定を構成する必要があり、ActiveXもIEで動作するように設定する必要があります。😁

これは、上記のようにEdgeではActiveXが動作しないためです。結論として、非常に限定的です。
同様に、最近ではアプリをインストールすると、さまざまなスキームが利用可能になります。例えば、WinSCPユーザーにはsftp: スキームが適用され、Adobe Acrobatをインストールした人にはacrobat: スキームが利用可能になります。そのようなスキームから有用なコマンドを実行できる場合、それが問題になる可能性があります。
まとめると、この脆弱性はリモートコード実行のベクトルとなり得ます。新しい機能が出るたびに、あらゆる製品が攻撃と検証の対象となってきましたが、今回出たこのバグはそれらの脆弱性の1つに相当します。😀