Se ha descubierto una falla de seguridad crítica en Núcleo LangChain que un atacante podría aprovechar para robar secretos confidenciales e incluso influir en las respuestas del modelo de lenguaje grande (LLM) mediante una inyección rápida.

LangChain Core (es decir, langchain-core ) es un paquete principal de Python que forma parte del ecosistema LangChain y proporciona las interfaces principales y las abstracciones independientes del modelo para crear aplicaciones impulsadas por LLM.

La vulnerabilidad, rastreada como CVE-2025-68664, tiene una puntuación CVSS de 9,3 sobre 10,0. Al investigador de seguridad Yarden Porat se le atribuye el mérito de informar sobre la vulnerabilidad el 4 de diciembre de 2025. Se le ha dado un nombre en código Lang Grinch .

«Existe una vulnerabilidad de inyección de serialización en LangChain dumps () y dumpd () funciones», los mantenedores del proyecto dijo en un aviso. «Las funciones no escapan a los diccionarios con las teclas 'lc' al serializar diccionarios de formato libre».

«LangChain utiliza internamente la clave 'lc' para marcar objetos serializados. Cuando los datos controlados por el usuario contienen esta estructura clave, se tratan como un objeto LangChain legítimo durante la deserialización, en lugar de como datos de usuario simples».

Según Porat, investigador de Cyata, el quid del problema tiene que ver con que las dos funciones no pueden escapar de los diccionarios controlados por el usuario que contienen las teclas «lc». El marcador «lc» representa los objetos de LangChain en el formato de serialización interno del marco.

«Por lo tanto, una vez que un atacante pueda hacer que un bucle de orquestación de LangChain serialice y, posteriormente, deserialice el contenido, incluida una clave 'lc', creará una instancia de un objeto arbitrario inseguro, lo que podría desencadenar muchas rutas amigables para los atacantes», dijo Porat dijo .

Esto podría tener varios resultados, incluida la extracción secreta de variables de entorno cuando la deserialización se realiza con «SECRETS_FROM_ENV=true» (previamente establecido de forma predeterminada), la creación de instancias de clases dentro de espacios de nombres confiables previamente aprobados, como langchain_core, langchain y langchain_community, y potencialmente incluso provocar la ejecución de código arbitrario a través de plantillas de Jinja2.

Además, el error de escape permite la inyección de estructuras de objetos de LangChain a través de campos controlados por el usuario, como metadatos, additional_kwargs o response_metadata, mediante la inyección inmediata.

El parche publicado por LangChain introduce nuevos valores predeterminados restrictivos en load () y loads () mediante un parámetro de lista de permisos «allowed_objects» que permite a los usuarios especificar qué clases se pueden serializar/deserializar. Además, las plantillas de Jinja2 están bloqueadas de forma predeterminada y la opción «secrets_from_env» ahora está configurada en «False» para deshabilitar la carga automática de secretos desde el entorno.

Las siguientes versiones de langchain-core están afectadas por el CVE-2025-68664 -

  • >= 1.0.0, < 1.2.5 (corregido en 1.2.5)
  • < 0.3.81 (corregido en 0.3.81)

Vale la pena señalar que existe un defecto de inyección de serialización similar en LangChain.js, que también se debe a que los objetos no se escapan correctamente con las claves «lc», lo que permite la extracción secreta y la inyección inmediata. A esta vulnerabilidad se le ha asignado el identificador CVE CVE-2025-68665 (puntuación CVSS: 8,6).

Afecta a los siguientes paquetes npm:

  • @langchain /core >= 1.0.0, < 1.1.8 (corregido en 1.1.8)
  • @langchain /core < 0.3.80 (corregido en 0.3.80)
  • langchain >= 1.0.0, < 1.2.3 (corregido en 1.2.3)
  • langchain < 0.3.37 (corregido en 0.3.37)

En vista de la gravedad de la vulnerabilidad, se recomienda a los usuarios que actualicen a una versión parcheada lo antes posible para una protección óptima.

«El vector de ataque más común es a través de campos de respuesta de LLM, como additional_kwargs o response_metadata, que se pueden controlar mediante la inyección inmediata y, luego, serializarlos o deserializarlos en las operaciones de streaming», afirma Porat. «Este es exactamente el tipo de intersección entre la inteligencia artificial y la seguridad clásica» en la que las organizaciones se ven sorprendidas con la guardia baja. La salida de LLM es una entrada poco fiable».

¿Te ha parecido interesante este artículo? Síguenos en Noticias de Google , Twitter y LinkedIn para leer más contenido exclusivo que publicamos.