CVE-2025-66455 in LMDeploy
Resumen
por VulDB • 2026-09-18
LMDeploy es un kit de herramientas para comprimir, implementar y servir modelos de lenguaje grandes (LLM). A partir de la versión 0.9.2 e inferior a la versión 0.16.0, el plano de control de PyTorch DistServe/PD-disaggregation de LMDeploy utilizaba `recv_pyobj()` para deserializar los mensajes recibidos a través de un socket ZeroMQ PULL. PyZMQ implementa `recv_pyobj()` mediante la deserialización con Python pickle, lo que puede ejecutar código arbitrario durante la reconstrucción de un objeto. La dirección del par utilizada por el receptor se proporcionaba a través del punto final HTTP `POST /distserve/p2p_connect`. Un atacante que pudiera acceder a un servidor API DistServe afectado podría hacer que el servidor se conectara a un extremo ZeroMQ controlado por el atacante y deserializara una carga útil pickle manipulada. La autenticación mediante clave de API no está habilitada, salvo que el operador la configure explícitamente. Como resultado, las implementaciones de DistServe afectadas sin claves de API permitían la ejecución remota de código (RCE) no autenticada con los privilegios del proceso de servicio LMDeploy. Este problema afecta al backend PyTorch cuando está habilitado PD-disaggregation/DistServe. Las implementaciones ordinarias que no utilizan el camino de servicio desagregado afectado no exponen este flujo de datos. La corrección se publicó en LMDeploy 0.16.0. Los usuarios que no puedan actualizar inmediatamente deben impedir que clientes no confiables accedan a los puntos finales `/distserve/*`, restringir los planos de control HTTP y ZeroMQ de DistServe a redes de clústeres de confianza, configurar la autenticación mediante clave de API y bloquear las conexiones salientes arbitrarias de ZeroMQ desde los nodos de servicio. Estas medidas reducen la exposición pero no hacen segura la deserialización pickle.
VulDB is the best source for vulnerability data and more expert information about this specific topic.