Un clic en un enlace de microsoft.com. Eso bastó para transformar el M365 Copilot Enterprise en un arma de exfiltración de datos que roba códigos 2FA, notas de reuniones del directorio y planes de adquisición. Sin malware. Sin credenciales. Un enlace y una IA que era demasiado útil para su propio bien. Varonis descubrió el SearchLeak (CVE-2026-42824), y la cadena de ataque es más sofisticada de lo que parece.
El vector: q como instrucción ejecutable
El parámetro q en la URL de búsqueda de M365 Copilot se pasa directamente al motor de IA como instrucción ejecutable, no como cadena de búsqueda. Lo que se coloca en q se interpreta como un comando. Esto es prompt injection (inyección de prompt) en su forma más directa: el atacante no necesita acceso a la cuenta, no necesita malware, no necesita credenciales. Necesita que la víctima haga clic en un enlace de microsoft.com, un dominio que no es bloqueado por el anti-phishing.
La cadena de ataque tiene siete pasos y combina tres técnicas distintas:
- El atacante envía una URL con instrucciones en el parámetro
q(dominio microsoft.com, no bloqueado). - La víctima hace clic. Copilot interpreta
qcomo instrucción y busca en la bandeja de entrada, SharePoint y OneDrive. - Copilot genera una respuesta con una etiqueta
<img>que contiene los datos robados en la URL. - Durante el streaming, el navegador renderiza el
<img>antes de que el sanitizer (race condition) lo envuelva en code blocks. - El navegador envía una solicitud a
bing.com/images/searchbyimage(permitido por la allowlist del CSP). - El backend de Bing hace el server-side fetch de la URL del atacante.
- El atacante lee los datos robados de los logs del servidor.
Cada etapa es necesaria. Cada una se salta una protección diferente. Y el resultado es la exfiltración silenciosa de cualquier dato que Copilot pueda acceder vía Microsoft Graph.
Bing como trampolín: el CSP es irrelevante en el server-side
La allowlist del CSP de M365 incluye *.bing.com. Esto tiene sentido para el navegador: Copilot necesita Bing para buscar. Pero el endpoint "Search by Image" de Bing hace fetch server-side de URLs arbitrarias. El atacante codifica los datos robados en el path de la URL. El navegador del lado del cliente nunca accede al servidor del atacante. El CSP es irrelevante para las solicitudes server-side.
Según Varonis: "¿El CSP del navegador? Irrelevante para las solicitudes server-side." Esa es la lección arquitectónica que va más allá de M365. Cualquier dominio de la allowlist CSP que tenga capacidad de server-side fetch es un canal potencial de exfiltración. El CSP protege el navegador. No protege lo que el backend hace con las URLs que recibe.
La race condition (condición de carrera) en el streaming es el disparador. Durante el streaming de la respuesta de Copilot, el navegador renderiza la etiqueta <img> antes de que el sanitizer envuelva el contenido en code blocks. La ventana de tiempo es pequeña, pero suficiente. El navegador dispara la solicitud hacia Bing, Bing hace el fetch server-side, y los datos llegan al atacante.
Lo que estaba expuesto: todo lo que Graph indexa
El alcance de la exposición está determinado por lo que Copilot puede acceder vía Microsoft Graph. Según Varonis, esto incluye: códigos MFA/2FA que llegan a la bandeja de entrada, enlaces de restablecimiento de contraseña, contenido de correos, eventos de calendario, documentos de SharePoint, archivos de OneDrive, documentos salariales y planes de adquisición. Cualquier contenido indexado al que la víctima pudiera acceder.
Para un ejecutivo del directorio, esto significa notas confidenciales de reuniones y planes estratégicos. Para el CFO, documentos salariales y proyecciones financieras. Para cualquier usuario, códigos 2FA y enlaces de restablecimiento de contraseña, lo que abre la puerta al takeover de cuenta. Copilot no distingue entre datos sensibles y datos comunes. Solo responde al prompt.
La escalada en 12 meses: tres cadenas, mismo objetivo
El SearchLeak no es un incidente aislado. Es el tercer ataque de exfiltración vía M365 Copilot en 12 meses, y cada uno apunta a un tier más alto:
- EchoLeak (CVE-2025-32711, CVSS 9.3, zero-click, 2025): correo manipulado (crafted) + proxy de Teams para evadir el CSP. M365 Copilot.
- Reprompt (Varonis, enero de 2026): one-click, P2P injection, Copilot Personal.
- SearchLeak (CVE-2026-42824, junio de 2026): one-click, P2P injection + race condition HTML + SSRF vía Bing. Copilot Enterprise.
Cada cadena se salta las protecciones que el fix anterior debería haber establecido. EchoLeak explotó el CSP. Reprompt subió de tier. SearchLeak combinó tres técnicas y escaló hasta Copilot Enterprise, el tier con el acceso más amplio a datos corporativos.
El patrón es claro: cada asistente de IA con amplio acceso a datos se asienta sobre una falla geológica. Nadie sabe cómo prevenir fundamentalmente la inyección de prompt. El parche de Microsoft corrigió esta cadena específica. Pero el próximo vector es cuestión de tiempo.
La brecha del CVSS: 6.5 para robar códigos 2FA del CEO
Microsoft clasificó el SearchLeak como "Critical" internamente. El CVSS numérico: 6.5. Cuando tu asistente de IA roba códigos 2FA del CEO con un clic, ¿es 6.5 el número correcto?
La brecha entre la clasificación interna de Microsoft y el score CVSS refleja una limitación estructural del CVSS para vulnerabilidades de IA. El CVSS mide impacto técnico, confidencialidad, integridad, disponibilidad. Pero el impacto real de un asistente de IA que roba códigos 2FA, planes de adquisición y documentos salariales va mucho más allá de lo que el CVSS captura. El impacto es contextual: depende de quién es la víctima, qué datos accede y qué puede hacer un atacante con códigos 2FA en tiempo real.
Según Varonis, la recomendación es tratar el output de IA en streaming como untrusted. La sanitización debe ocurrir en el render time, no como post-processing. Esto es arquitectura, no parche.
La pregunta para el directorio
¿Cuál es el plan cuando las herramientas de IA se convierten en la superficie de ataque? No es una cuestión de si, sino de cuándo. Tres cadenas de exfiltración en 12 meses muestran que M365 Copilot es un objetivo activo y que los atacantes evolucionan más rápido que las defensas.
En Tech86 aplicamos esta lección en la práctica: nuestra Blindagem Perímetro WAF monitorea y filtra solicitudes anómalas que indican exfiltración de datos, incluyendo patrones de SSRF y race condition en capas de aplicación. Cuando el CSP es irrelevante porque la exfiltración ocurre server-side, la detección de comportamiento en la capa de perímetro es la defensa que queda. El parche corrige el vector. La arquitectura de seguridad corrige la superficie.
Continúa en el tema
Segurança de Agentes de IA: Prompt Injection, Worms e Supply Chain →