CVE-2026-76850 in lmdeploy
Résumé
par VulDB • 20/08/2026
LMDeploy désérialise les messages des pairs de disaggregated-serving à l’aide de pickle. La coroutine handle_zmq_recv dans lmdeploy/pytorch/disagg/conn/engine_conn.py lit les requêtes peer-to-peer sans cache via recv_pyobj(), qui désérialise les octets reçus avec pickle.loads(), et la vérification isinstance contre DistServeCacheFreeRequest n’est effectuée qu’après que la désérialisation est déjà terminée. Le pair fournissant ces octets est contrôlé par l’appelant : p2p_connect transmet remote_engine_endpoint_info.zmq_address depuis le corps de la requête à connect() sur un socket ZMQ PULL, et les points de terminaison POST /distserve/p2p_initialize et /distserve/p2p_connect dans lmdeploy/serve/openai/api_server.py n’appliquent aucune authentification sauf si le serveur est démarré avec api_keys, qui par défaut vaut None. Un attaquant distant peut diriger un moteur pour qu’il tire depuis une extrémité ZMQ sous son contrôle et exécuter du code arbitraire dans le processus du moteur. Les déploiements qui n’activent pas disaggregated serving ne sont pas affectés, car la boucle de réception est démarrée uniquement lorsque le backend de migration accepte la connexion.
If you want to get best quality of vulnerability data, you may have to visit VulDB.