Fallo de Inyección de Prompt en Vanna AI Expone Bases de Datos a Ataques de RCE

Investigadores de ciberseguridad han revelado una vulnerabilidad crítica en la librería Vanna.AI, que podría resultar en una vulnerabilidad de ejecución de código remoto a través de técnicas de inyección de código. La vulnerabilidad, conocida como CVE-2024-5565 (CVSS score: 8.1), se relaciona con un caso de inyección de código en la función «ask» y permitiría ejecutar comandos arbitrarios. Esta información fue proporcionada por la firma de seguridad en la cadena de suministro JFrog.

La librería Vanna es una herramienta de aprendizaje automático basada en Python que permite a los usuarios interactuar con bases de datos SQL realizando «preguntas» o prompts. Estas preguntas se traducen en consultas SQL equivalentes utilizando un modelo de lenguaje grande (LLM).

La rápida adopción de modelos generativos de inteligencia artificial (IA) ha incrementado la exposición a riesgos de explotación por parte de actores malintencionados. Estos podrían convertir estas herramientas en armas proporcionando entradas adversariales que eluden los mecanismos de seguridad incorporados.

Uno de los tipos de ataques más destacados es la inyección de código en prompts, que, en este caso, permitiría eludir las barreras creadas para evitar la producción de contenido ofensivo, dañino o ilegal, o para ejecutar instrucciones que violen el propósito previsto de la aplicación.

Estos ataques podrían ser indirectos, como cuando un sistema procesa datos controlados por un tercero para lanzar una carga maliciosa que comprometa el control de la IA. También podrían adoptar la forma de un jailbreak de múltiples giros, en el que el operador dirige progresivamente la conversación hacia el objetivo prohibido.

Por otro lado, Skeleton Key es un ataque que, una vez logrado, permite a un modelo ignorar sus barreras y, posteriormente, producir cualquier contenido sin importar cuánto viole sus pautas originales de IA responsable.

Los últimos hallazgos de JFrog, también divulgados por Tong Liu, demuestran cómo las inyecciones de código en prompts podrían tener graves consecuencias, especialmente cuando están vinculadas a la ejecución de comandos. En el caso de CVE-2024-5565, la librería Vanna facilita la generación de texto a SQL para luego ejecutar y presentar gráficamente las consultas SQL utilizando la librería de gráficos Plotly.

Específicamente, la función «ask” de la librería Vanna, que es uno de los principales puntos finales de la API, es vulnerable a la ejecución remota de código, lo que permite a un actor malintencionado enviar un prompt especialmente creado que incrusta un comando para ser ejecutado en el sistema subyacente.

Después de una divulgación responsable, Vanna ha emitido una guía de endurecimiento que advierte a los usuarios sobre los riesgos de integrar Plotly, enfatizando la necesidad de hacerlo en un entorno aislado.

Este descubrimiento subraya los riesgos del uso generalizado de GenAI/LLMs sin una gobernanza y seguridad adecuadas, que podrían tener implicaciones drásticas para las organizaciones. Shachar Menashe, director sénior de investigación de seguridad en JFrog, señaló que las empresas deben evitar confiar únicamente en el pre-prompting como mecanismo de defensa infalible y considerar la aplicación de mecanismos más sólidos al interconectar LLMs con recursos críticos como bases de datos o generación de código dinámico.

Vía The Hacker News