このリポジトリには、CVE-2026-21509 の潜在的なエクスプロイトを含む RTF 文書を検出するための YARA ルールと、
その脆弱性に関連する Shell.Explorer.1 OLE オブジェクトが MS Office ファイルに含まれているかどうかを確認する Python スクリプトが含まれています。
技術的な詳細については、https://decalage.info/CVE-2026-21509/ を参照してください。
このルールは、CVE-2026-21509 の脆弱性を悪用するために使用される Shell.Explorer.1 OLE オブジェクトを含む RTF 文書に一致します。MalwareBazaar にアップロードされたすべてのサンプルを検出します: https://bazaar.abuse.ch/browse/tag/CVE-2026-21509/
正規の文書がこのような OLE オブジェクト(Internet Explorer エンジンを他のアプリケーションに埋め込むために使用される)を埋め込む正当な理由はないため、誤検知はほとんどないはずです。
YARA ルールには 2 つのバージョンがあります:
CVE-2026-21509_RTF.yar は、CLSID 文字列の各文字間に空白文字を許可します。これは遅いですが、そのような空白を許可する MS Word の RTF パーサーと同じように動作します。CVE-2026-21509_RTF_nows.yar は空白なしのバージョンです。このルールは高速ですが、CLSID 文字列に空白または改行文字が挿入された場合、一部の検出を見逃す可能性があります。MS のアドバイザリ https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-21509 によると、
CVE-2026-21509 の脆弱性は CLSID EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B に関連しており、
これは「Shell.Explorer.1」COM オブジェクトに対応します。このオブジェクトは、任意のアプリケーションからレガシーな
Internet Explorer エンジン(別名 Trident/MSHTML)を開くために使用できます。
したがって、MS Office 文書から CVE-2026-21509 を悪用するには、「Shell.Explorer.1」タイプの OLE オブジェクトを使用するか、 CVE-2021-40444 の「mhtml:」URL の場合と同様に、Internet Explorer エンジンの使用をトリガーする特別な URL を持つ外部リレーションシップを使用するかのいずれかが考えられます。
このスクリプトは、単純に両方のケースを識別しようとします。