
Regla YARA y script de Python para detectar posibles exploits de la vulnerabilidad CVE-2026-21509 en MS Office
Este repositorio contiene una regla YARA para detectar documentos RTF con una posible explotación de CVE-2026-21509,
y un script de Python para comprobar si los archivos de MS Office contienen objetos OLE Shell.Explorer.1, que están
relacionados con esa vulnerabilidad.
Consulte https://decalage.info/CVE-2026-21509/ para obtener más detalles técnicos.
Esta regla coincide con documentos RTF que contienen objetos OLE Shell.Explorer.1, que se utilizan para
explotar la vulnerabilidad CVE-2026-21509. Detecta todas las muestras subidas a
MalwareBazaar: https://bazaar.abuse.ch/browse/tag/CVE-2026-21509/
No hay ninguna razón válida para que los documentos legítimos incrusten un objeto OLE de este tipo (que se utiliza para incrustar el motor de Internet Explorer en otras aplicaciones), por lo que debería haber muy pocos falsos positivos.
La regla YARA viene en dos versiones:
CVE-2026-21509_RTF.yar que permite caracteres de espacio en blanco entre cada carácter de la cadena CLSID.
Esto es más lento, pero se comporta como el analizador RTF de MS Word, que permite dichos espacios en blanco.CVE-2026-21509_RTF_nows.yar sin espacios en blanco. Esta regla es más rápida, pero puede omitir algunas
detecciones si se insertan espacios en blanco o caracteres de nueva línea en la cadena CLSID.Según el aviso de MS https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-21509
la vulnerabilidad CVE-2026-21509 está relacionada con el CLSID EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B,
que corresponde al objeto COM "Shell.Explorer.1", que se puede utilizar para abrir el motor
heredado de Internet Explorer (también conocido como Trident/MSHTML) desde cualquier aplicación.
Por lo tanto, para explotar CVE-2026-21509 desde un documento de MS Office, se podría utilizar un objeto OLE de tipo "Shell.Explorer.1", o utilizar una relación externa con una URL especial que active el uso del motor de Internet Explorer, como fue el caso de CVE-2021-40444 con las URL "mhtml:".
Este script simplemente intenta identificar ambos casos.