Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en LangGraph Checkpoint (CVE-2026-27794)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-502 Deserialización de datos no confiables
Fecha de publicación:
25/02/2026
Última modificación:
27/02/2026

Descripción

LangGraph Checkpoint define la interfaz base para los gestores de puntos de control de LangGraph. Antes de la versión 4.0.0, existe una vulnerabilidad de ejecución remota de código en la capa de caché de LangGraph cuando las aplicaciones habilitan *backends* de caché que heredan de `BaseCache` y habilitan nodos para el almacenamiento en caché a través de `CachePolicy`. Antes de `langgraph-checkpoint` 4.0.0, `BaseCache` por defecto utiliza `JsonPlusSerializer(pickle_fallback=True)`. Cuando la serialización de msgpack falla, los valores almacenados en caché pueden ser deserializados a través de `pickle.loads(...)`. El almacenamiento en caché no está habilitado por defecto. Las aplicaciones se ven afectadas solo cuando la aplicación habilita explícitamente un *backend* de caché (por ejemplo, pasando `cache=...` a `StateGraph.compile(...)` o configurando de otra manera una implementación de `BaseCache`), uno o más nodos habilitan el almacenamiento en caché a través de `CachePolicy`, y el atacante puede escribir en el *backend* de caché (por ejemplo, una instancia de Redis accesible por red con autenticación débil/nula, infraestructura de caché compartida accesible por otros inquilinos/servicios, o un archivo de caché SQLite escribible). Un atacante debe poder escribir bytes controlados por el atacante en el *backend* de caché de modo que el proceso de LangGraph los lea y deserialice posteriormente. Esto normalmente requiere acceso de escritura a una caché en red (por ejemplo, una instancia de Redis accesible por red con autenticación débil/nula o infraestructura de caché compartida accesible por otros inquilinos/servicios) o acceso de escritura al almacenamiento de caché local (por ejemplo, un archivo de caché SQLite escribible a través de permisos de archivo permisivos o un volumen compartido escribible). Debido a que la explotación requiere acceso de escritura a la capa de almacenamiento de caché, este es un vector de escalada post-compromiso / post-acceso. LangGraph Checkpoint 4.0.0 corrige el problema.