Una vulnerabilidad crítica sin parchear en LMCache permite a atacantes no autenticados ejecutar código de forma remota
Existe una vulnerabilidad crítica en LMCache, un programa de código abierto que acelera servidores de modelos grandes de lenguaje, la cual permite a usuarios no autenticados ejecutar código de manera remota en el servidor de caché. Este fallo se encuentra en el modo multiproceso de la herramienta, donde el caché funciona como un servidor independiente al que los trabajadores se conectan mediante la biblioteca de mensajería ZeroMQ. El problema surge porque el socket carece de autenticación y utiliza un formato de Python vulnerable para procesar mensajes antes de verificar su tipo, permitiendo que un mensaje manipulado ejecute instrucciones con los privilegios del proceso.
La exposición del servidor depende de la configuración de red elegida por el operador. Por defecto, el sistema escucha únicamente en la máquina local, pero se vuelve accesible desde otros equipos si se configura con una dirección enrutable, tal como ocurre en algunos despliegues en Kubernetes o en implementaciones donde múltiples nodos comparten el caché. Cuando esto sucede y el servidor se ejecuta en una imagen oficial de contenedores, el código malicioso puede llegar a ejecutarse con permisos de root.
Hasta el momento no se ha lanzado una versión corregida de LMCache ni se ha publicado un aviso de seguridad por parte de sus creadores. Como medida provisional, se recomienda evitar el uso de direcciones enrutables para el servidor multiproceso, manteniéndolo en la red local o en un clúster de confianza, y limitando el acceso mediante cortafuegos, aunque esto último no elimina por completo el peligro. Adicionalmente, se han reportado otros fallos potenciales relacionados con el acceso no autenticado a datos y servicios, mientras que un problema similar que causaba denegación de servicio en vLLM ya cuenta con una solución previa.