CVE-2025-47277
vLLM Allows Remote Code Execution via PyNcclPipe Communication Service
Em resumo
vLLM versões 0.6.5 a 0.8.4 que usam PyNcclPipe para processamento distribuído em GPUs aceitam e executam código não confiável da rede porque seu serviço de comunicação escuta em todas as interfaces de rede em vez de apenas uma privada, permitindo que atacantes executem código arbitrário no servidor.
Detalhe técnico
CVE-2025-47277 explora vinculação inadequada de rede no mecanismo de transferência de cache KV do PyNcclPipe (CWE-502: desserialização de dados não confiáveis). A interface TCPStore, destinada a escutar apenas em uma interface privada especificada via `--kv-ip`, vincula-se a todas as interfaces por padrão devido ao comportamento do PyTorch. Um atacante na rede pode enviar objetos serializados maliciosos para o serviço de comunicação exposto, alcançando execução remota de código no contexto do processo vLLM. Mitigação disponível na versão 0.8.5+.
Resumo gerado e traduzido por IA a partir da descrição oficial.
vLLM, an inference and serving engine for large language models (LLMs), has an issue in versions 0.6.5 through 0.8.4 that ONLY impacts environments using the `PyNcclPipe` KV cache transfer integration with the V0 engine. No other configurations are affected. vLLM supports the use of the `PyNcclPipe` class to establish a peer-to-peer communication domain for data transmission between distributed nodes. The GPU-side KV-Cache transmission is implemented through the `PyNcclCommunicator` class, while CPU-side control message passing is handled via the `send_obj` and `recv_obj` methods on the CPU side. The intention was that this interface should only be exposed to a private network using the IP address specified by the `--kv-ip` CLI parameter. The vLLM documentation covers how this must be limited to a secured network. The default and intentional behavior from PyTorch is that the `TCPStore` interface listens on ALL interfaces, regardless of what IP address is provided. The IP address given was only used as a client-side address to use. vLLM was fixed to use a workaround to force the `TCPStore` instance to bind its socket to a specified private interface. As of version 0.8.5, vLLM limits the `TCPStore` socket to the private interface as configured.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H