Exposición de caché KV en solicitudes cruzadas del modelo de IA GLM-5.3 y su solución con SGLang

Exposición de caché KV en solicitudes cruzadas del modelo de IA GLM-5.3 y su solución con SGLang

Recientemente, el modelo de inteligencia artificial GLM-5.3 de Workers AI se vio involucrado en un incidente relacionado con la seguridad que ha llamado la atención en el ámbito de la tecnología y el emprendimiento. Este contratiempo se remonta al 27 de agosto de 2026, cuando comenzó a afectar a un número limitado de usuarios, quienes, debido a un problema de aislamiento de inquilinos, recibieron respuestas que contenían datos de otros clientes. Esta vulneración fue reportada el 8 de septiembre de 2026 por el investigador de seguridad Gadi Evron, lo que llevó a la rápida intervención de los desarrolladores de Cloudflare.

Después de identificar la situación, el modelo fue desactivado y el problema fue solucionado en un tiempo récord, restableciendo el servicio el 9 de septiembre. Las investigaciones iniciales revelaron que 155 respuestas, todas de solicitudes que superaban los 681,280 tokens, fueron las afectadas, pero se encontró que no hubo evidencia de explotación deliberada del error.

Detalles del incidente

El incidente fue el resultado de una combinación de dos fallos técnicos. En primer lugar, hubo una configuración errónea del motor de inferencia de código abierto SGLang, utilizado por Cloudflare, que permitía que el modelo GLM-5.3 operara con una ventana de contexto de 1,048,576 tokens, mientras que el grupo de caché de clave-valor (KV) solo tenía capacidad para 681,280 tokens. Aunque el equipo era consciente de esta discrepancia antes del lanzamiento, asumieron que el motor manejaría esta diferencia sin problemas.

El segundo problema se presentó cuando SGLang no manejó adecuadamente las solicitudes que excedían el tamaño del grupo de caché. En lugar de abortar la solicitud, el motor generaba el caché a partir de un marcador de posición y, al final, los nodos de decodificación podían generar respuestas basadas en información obsoleta, resultando en la exposición de datos de otros usuarios.

Remediación inmediata

Una vez identificado el fallo, se tomaron diversas medidas correctivas. La primera fue ajustar la configuración del GLM-5.3 para liberar suficiente memoria GPU, lo que permitió que el grupo de caché pudiera albergar más de 2 millones de tokens, evitando futuras incidencias de este tipo. Además, se implementaron parches en el motor de SGLang para manejar adecuadamente las solicitudes que excedan la capacidad del grupo, garantizando que el sistema rechace adecuadamente los pedidos problemáticos.

Estas correcciones se verificaron utilizando un script proporcionado por el investigador y se aplicaron cambios adicionales a todas las implementaciones de producción que utilizan SGLang para prevenir futuras vulnerabilidades.

Colaboraciones y lecciones aprendidas

Este incidente ha resaltado la importancia del trabajo coordinado entre los equipos de desarrollo de productos y los mantenedores de SGLang. Se han llevado a cabo reuniones para discutir las lecciones aprendidas y las soluciones a largo plazo. A partir de este evento, Cloudflare ha intensificado sus esfuerzos para mejorar la seguridad en sus implementaciones, incluidas las medidas que garantizan la integridad de los cachés de memoria y las verificaciones de consistencia durante las transferencias de datos a través de RDMA.

Como recomendaciones para otras empresas que operan en entornos similares, se aconseja medir y verificar constantemente la correspondencia entre la longitud del contexto y el tamaño del grupo de caché. Además, es esencial implementar mecanismos de detección de corrupción y mantener una sólida comunicación entre los distintos componentes del sistema para asegurar la integridad de los datos en aplicaciones críticas.