
Правило YARA и Python-скрипт для обнаружения потенциальных эксплойтов уязвимости CVE-2026-21509 в MS Office
Этот репозиторий содержит YARA-правило для обнаружения RTF-документов с потенциальной эксплуатацией уязвимости CVE-2026-21509,
а также Python-скрипт для проверки, содержат ли файлы MS Office OLE-объекты Shell.Explorer.1, которые связаны
с этой уязвимостью.
Дополнительные технические подробности см. на https://decalage.info/CVE-2026-21509/.
Это правило сопоставляет RTF-документы, содержащие OLE-объекты Shell.Explorer.1, которые используются для
эксплуатации уязвимости CVE-2026-21509. Оно обнаруживает все образцы, загруженные на
MalwareBazaar: https://bazaar.abuse.ch/browse/tag/CVE-2026-21509/
Нет веских причин для легитимных документов внедрять такой OLE-объект (который используется для встраивания движка Internet Explorer в другие приложения), поэтому ложных срабатываний должно быть очень мало.
YARA-правило представлено в двух версиях:
CVE-2026-21509_RTF.yar, которая допускает пробельные символы между каждым символом строки CLSID.
Это медленнее, но ведёт себя так же, как парсер RTF в MS Word, который допускает такие пробелы.CVE-2026-21509_RTF_nows.yar без пробелов. Это правило быстрее, но может пропустить некоторые
обнаружения, если в строку CLSID вставлены пробелы или символы новой строки.Согласно бюллетеню Microsoft https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-21509
уязвимость CVE-2026-21509 связана с CLSID EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B,
соответствующим COM-объекту "Shell.Explorer.1", который можно использовать для запуска устаревшего
движка Internet Explorer (также известного как Trident/MSHTML) из любого приложения.
Таким образом, для эксплуатации CVE-2026-21509 из документа MS Office можно использовать либо OLE-объект типа "Shell.Explorer.1", либо внешнюю связь со специальным URL-адресом, который запустит использование движка Internet Explorer, как это было в случае с CVE-2021-40444 с URL-адресами "mhtml:".
Этот скрипт просто пытается выявить оба случая.