← CVE Veritabanı

CVE-2026-76850

Kritik

Teknik Veri (Otomatik)

CVSS Skoru
9.8
EPSS
1.0%
CWE
CWE-502
KEV Durumu
Hayır

Yayım tarihi: 19 Ağustos 2026

LMDeploy, dağıtılmış hizmet veren peer mesajlarını pickle ile seri durumdan çıkarmaktadır. lmdeploy/pytorch/disagg/conn/engine_conn.py dosyasındaki handle_zmq_recv coroutine, recv_pyobj() ile peer-to-peer önbelleksiz istekleri okur ve alınan baytları pickle.loads() ile seri durumdan çıkarmaktadır ve isinstance kontrolü DistServeCacheFreeRequest karşı yalnızca seri durumdan çıkarma işlemi tamamlandıktan sonra çalışmaktadır. Bu baytları sağlayan peer, çağırıcı tarafından kontrol edilmektedir: p2p_connect, istek gövdesinden remote_engine_endpoint_info.zmq_address'i ZMQ PULL soketi上的 connect() işleminde kullanmaktadır ve lmdeploy/serve/openai/api_server.py dosyasındaki POST /distserve/p2p_initialize ve /distserve/p2p_connect uç noktaları, sunucu api_keys ile başlatılmadıkça kimlik doğrulaması yapmaz, bu da varsayılan olarak None'dir. Uzak bir saldırgan, bir motorun kendi kontrolü altındaki bir ZMQ uç noktasından çekmesini sağlayabilir ve motor işleminde任意 kod çalıştırabilir. Dağıtılmış hizmet vermeyi etkinleştirmeyen dağıtımlar etkilenmez, çünkü alma döngüsü yalnızca migration backend bağlantıyı kabul ettikten sonra başlatılmaktadır.

Orijinal açıklama (İngilizce)

LMDeploy deserializes disaggregated-serving peer messages with pickle. The handle_zmq_recv coroutine in lmdeploy/pytorch/disagg/conn/engine_conn.py reads peer-to-peer cache-free requests with recv_pyobj(), which deserializes the received bytes with pickle.loads(), and the isinstance check against DistServeCacheFreeRequest runs only after deserialization has already completed. The peer that supplies those bytes is caller-controlled: p2p_connect passes remote_engine_endpoint_info.zmq_address from the request body to connect() on the ZMQ PULL socket, and the POST /distserve/p2p_initialize and /distserve/p2p_connect endpoints in lmdeploy/serve/openai/api_server.py apply no authentication unless the server is started with api_keys, which defaults to None. A remote attacker can direct an engine to pull from a ZMQ endpoint under their control and execute arbitrary code in the engine process. Deployments that do not enable disaggregated serving are not affected, because the receive loop is only started once the migration backend accepts the connection.

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.