
Exploit de prova de conceito para CVE-2025-32434, um RCE crítico no torch.load() do PyTorch que contorna weights_only=True via escrita de arquivo mapeado em memória.
CVE-2025-32434 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) no PyTorch, uma biblioteca Python amplamente utilizada para aprendizado profundo e redes neurais.
A vulnerabilidade existe na função torch.load(), mesmo quando o parâmetro supostamente seguro weights_only=True é usado. A opção weights_only=True foi projetada para impedir a execução de código restringindo o carregamento apenas aos parâmetros do modelo. No entanto, pesquisadores encontraram uma maneira de contornar essa proteção.
| Estado | Versão |
|---|---|
| Vulnerável | PyTorch 2.5.1 e todas as versões anteriores |
| Corrigido | PyTorch 2.6.0 e posteriores |
Um atacante não autenticado pode criar um arquivo de modelo malicioso que executa código arbitrário quando carregado por uma vítima. O ataque não requer interação do usuário e pode levar ao comprometimento total do sistema. A vulnerabilidade explora como o PyTorch utiliza a serialização pickle do Python, permitindo que atacantes incorporem código malicioso em arquivos de modelo.
Essa vulnerabilidade é particularmente perigosa porque muitos desenvolvedores confiam em weights_only=True como uma medida de segurança, mas esta vulnerabilidade prova que mesmo a opção "segura" não é suficiente.
O script full.py fornecido demonstra como criar um modelo PyTorch malicioso que grava no sistema de arquivos quando carregado.
torch.from_file() para criar um tensor mapeado em memória apontando para o arquivo cron alvo# Memory-mapped file writing
t = torch.from_file("/etc/cron.d/rev",
shared=True,
size=len(asciis),
dtype=torch.uint8)
msg = torch.tensor(asciis, dtype=torch.uint8)
t.copy_(msg) # Writes to /etc/cron.d/rev
Este guia fornece instruções passo a passo sobre como usar o script de prova de conceito (PoC) para CVE-2025-32434.
Antes de começar, verifique se você tem:
# Install PyTorch (vulnerable version for testing)
pip install torch==2.5.1
pip install torch