Descubren una vulnerabilidad crítica en Salesforce AgentForce

Se ha revelado una falla grave en la funcionalidad AgentForce de Salesforce, utilizada para construir agentes de IA autónomos. La vulnerabilidad, denominada ForcedLeak y estimada en una gravedad de CVSS 9.4, permite a un atacante exfiltrar datos sensibles del CRM corporativo mediante una técnica de inyección de prompt indirecta.


¿Cómo Funciona el Ataque ForcedLeak?

Este ataque es indirecto, ya que el atacante no interactúa directamente con el agente de IA, sino que introduce instrucciones maliciosas dentro de datos aparentemente inofensivos.

El ataque se desarrolla en tres fases clave, utilizando una cadena de fallas de seguridad:

  1. Inyección de Prompt a Través de Datos Legítimos

El atacante aprovecha la funcionalidad Web-to-Lead de Salesforce, que permite a usuarios externos enviar datos de contacto directamente al CRM, normalmente a través de un formulario web.

  • El punto de entrada es el campo description del formulario, que tiene una capacidad de hasta 42,000 caracteres.
  • El atacante inserta instrucciones ocultas (el prompt malicioso) dentro de ese campo de texto, disfrazándolas como datos legítimos de un potencial cliente (lead).
  1. Ejecución de Código por el Agente de IA

La segunda fase ocurre internamente, cuando un empleado interactúa con el lead malicioso.

  • Al procesar el lead, el agente de IA AgentForce incorpora esos datos (que contienen el prompt malicioso) en su contexto de trabajo.
  • El agente, sin distinguir entre la información válida y las instrucciones de ataque, ejecuta el prompt incrustado como si fueran una orden legítima.
  1. Exfiltración a Través de Dominio de Confianza

La fase final explota una debilidad en los controles de red de Salesforce.

  • Salesforce tenía un dominio en la lista blanca de su Política de Seguridad de Contenido (CSP) llamado my-salesforce-cms.com.
  • El dominio había expirado y fue registrado por los atacantes. Esto lo convirtió en un canal de salida autorizado, ya que las defensas de red aún lo consideraban “confiable”.
  • Las instrucciones maliciosas le ordenaban al agente de IA enviar los datos sensibles filtrados (contactos, información CRM) a ese dominio controlado por el atacante, logrando la exfiltración sin levantar alarmas de tráfico no autorizado.

Puntos Críticos
  • Riesgo de Agentes Autónomos: La falla demuestra que los agentes autónomos de IA pueden convertir datos externos (como la descripción de un lead) en vectores de ejecución si no están rigurosamente validados y aislados.
  • Falla en el Mantenimiento del CSP: La dependencia de la política CSP se convirtió en un riesgo, ya que un dominio confiable expiró y quedó libre, revelando un descuido crítico en el mantenimiento de los mecanismos de seguridad de Salesforce.

Mitigación

Salesforce ya aplicó correcciones, pero las organizaciones deben tomar medidas adicionales para asegurar su infraestructura de IA.

Medidas de Mitigación Aplicadas por Salesforce:

  • Dominio Asegurado: Se aseguró el dominio expirado para evitar su uso como canal de salida.
  • Lista de Confianza de URLs: Se introdujo una lista confiable (trusted URL allowlist) para AgentForce y Einstein, bloqueando enlaces externos no autorizados generados por el agente.
  • Bloqueo de Salida: El código de AgentForce ahora impide que la salida del agente se envíe a URLs no confiables.

Recomendaciones
  • Aplicar Parches y Controles:
    • Asegurar que Salesforce haya activado las correcciones de ForcedLeak y el nuevo mecanismo de trusted URL allowlist.
  • Fortalecer la Validación de Datos de Entrada:
    • Implementar la sanitización de los campos de texto (input sanitization) en formularios como Web-to-Lead para eliminar caracteres o comandos que puedan funcionar como prompts maliciosos.
    • Establecer límites en la longitud y el contenido permitido en campos especialmente largos.
  • Auditar Leads Existentes:
    • Auditar urgentemente las entradas del formulario Web-to-Lead (especialmente el campo description) para detectar payloads sospechosos o instrucciones ocultas. Buscar leads con contenido excesivamente extenso o fuera de contexto habitual.

Related Post