
Proof-of-Concept-Exploit für CVE-2025-32434, eine kritische RCE in PyTorchs torch.load(), die weights_only=True über memory-mapped Dateischreiben umgeht.
CVE-2025-32434 ist eine kritische Remote-Code-Ausführungs-Schwachstelle (RCE) in PyTorch, einer weit verbreiteten Python-Bibliothek für Deep Learning und neuronale Netze.
Die Schwachstelle existiert in der Funktion torch.load(), selbst wenn der vermeintlich sichere Parameter weights_only=True verwendet wird. Die Option weights_only=True wurde entwickelt, um Codeausführung zu verhindern, indem das Laden nur auf Modellparameter beschränkt wird. Forscher fanden jedoch einen Weg, diesen Schutz zu umgehen.
| Status | Version |
|---|
| Verwundbar | PyTorch 2.5.1 und alle früheren Versionen |
| Behoben | PyTorch 2.6.0 und später |
Ein nicht authentifizierter Angreifer kann eine bösartige Modelldatei erstellen, die beim Laden durch ein Opfer beliebigen Code ausführt. Der Angriff erfordert keine Benutzerinteraktion und kann zur vollständigen Kompromittierung des Systems führen. Die Schwachstelle nutzt aus, wie PyTorch die Python-Serialisierung pickle verwendet, sodass Angreifer bösartigen Code in Modelldateien einbetten können.
Diese Schwachstelle ist besonders gefährlich, da viele Entwickler auf weights_only=True als Sicherheitsmaßnahme vertrauen, doch diese Schwachstelle beweist, dass selbst die „sichere“ Option nicht ausreicht.
Das bereitgestellte Skript full.py demonstriert, wie man ein bösartiges PyTorch-Modell erstellt, das beim Laden in ein Dateisystem schreibt.
torch.from_file(), um einen speicherabgebildeten Tensor zu erstellen, der auf die Ziel-Cron-Datei zeigt# 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
Diese Anleitung enthält Schritt-für-Schritt-Anweisungen zur Verwendung des Proof-of-Concept-Skripts (PoC) für CVE-2025-32434.
Stellen Sie vor dem Start sicher, dass Sie Folgendes haben:
# Install PyTorch (vulnerable version for testing)
pip install torch==2.5.1
pip install torch