Alert!

Schwachstelle in PyTorch erlaubt Command Injection via RPC auf dem Master Node

Eine Schwachstelle in dem Machine-Learning-Framework ermöglicht beim verteilten Training das Ausführen beliebigem Code auf dem Master Node.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Ein rot schimmerndes Plexiglas-Wrndreieck

(Bild: JLStock/Shutterstock.com)

Lesezeit: 2 Min.

Das CERT-Bund des BSI warnt vor einer Schwachstelle in PyTorch, die beim verteilten Training von Modellen auftritt. Das von Meta initiierte, quelloffene ML-Framework fĂĽhrt offenbar den von Worker Nodes gesendeten Python-Code ungeprĂĽft auf dem Master Node aus.

Der Warn- und Informationsdienst von CERT-Bund führt die Schwachstelle als WID-SEC-2024-1323 mit dem höchsten CVSS Score von 10, das Risiko ist demnach kritisch. In der NIST Vulnerability Database ist die Schwachstelle als CVE-2024-5480 gelistet.

Welche Versionen genau betroffen sind, lässt sich den Meldungen nicht exakt entnehmen. Beim NIST ist von Versionen speziell vor 2.2.2 die Rede, beim BSI von Versionen kleiner 2.2.3. In den offiziellen Release Notes findet sich weder in Version 2.2.2 noch in Version 2.3 ein expliziter Hinweis auf einen zugehörigen Bugfix.

Die Schwachstelle findet sich in dem Distritbuted RPC Framework torch.distributed.rpc von PyTorch. Es ermöglicht das Ausführen von Remote Procedure Calls (RPC) unter anderem für das verteilte Training von Modellen.

Die Worker Nodes können dabei spezielle Funktionsaufrufe als User-defined Function (UDF) serialisieren und an den Master Node schicken, der sie deserialisiert und ausführt. Da das Framework die Funktionen vor der Ausführung offenbar nicht prüft, ist es für Command Injection (CWE-77) anfällig.

Wenn ein Angreifer Zugriff zu einem Worker Node hat, kann er eine beliebige Python-Funktion wie eval an den Master Node übergeben, die diese aufruft. eval überträgt wiederum die als String-Parameter übergebene Expression in einen Python-Befehl und führt ihn aus.

Auf der Bug-Bounty-Plattform huntr findet sich ein Proof-of-Concept-Exploit. Auch wenn der Code nur die IP des Master Node abfragt, weist der Beitrag darauf hin, dass sich auf die Weise sensible Daten vom Master abgreifen lassen.

(rme)