Kürzlich wurde eine kritische Sicherheitslücke, die die Ausführung beliebiger Befehle nach der Deserialisierung nicht vertrauenswürdiger Daten in der Programmiersprache R ermöglicht, bekannt. Die Schwachstelle CVE-2024-27322 betrifft den Umgang mit .rds- und .rdx-Dateien in R, einem Format für die Daten-Serialisierung.
R ermöglicht die Serialisierung von Daten, d.h., Objekte und Daten aus einer R-Sitzung können in einem Format gespeichert und später wieder in einer anderen Sitzung deserialisiert werden. Die hierbei verwendeten .rds-Dateien speichern einzelne R-Objekte, während .rdx-Dateien, zusammen mit .rdb-Dateien, zur Indizierung von Serialisierungsdaten verwendet werden.
Die Schwachstelle tritt auf, wenn die readRDS
-Funktion, die zum Laden dieser Dateien verwendet wird, eine besondere Art von verzögert ausgewerteten Ausdrücken (sogenannte Promises) deserialisiert. Diese Promises sollten erst bei Bedarf innerhalb des Programms ausgewertet werden. Durch manipulierte .rds- oder .rdx-Dateien kann ein Angreifer jedoch Code einschleusen, der ausgeführt wird, sobald die entsprechende Promise-Auswertung im Programm erreicht wird.
Ein Angreifer könnte speziell präparierte .rds- oder .rdx-Dateien erstellen und über Social Engineering in Phishing Kampagnen verteilen, um auf dem Zielgerät des Opfers beliebige Befehle auszuführen.
Projekte, die readRDS
für nicht vertrauenswürdige Dateien verwenden, sind ebenfalls gefährdet. Der schädliche Code in den Dateien könnte auch dazu genutzt werden, um auf benachbarte Ressourcen wie andere Computer, Geräte in einem Cluster oder gemeinsam genutzte Dokumente und Ordner zuzugreifen.
Das R-Projekt hat auf diese Sicherheitslücke reagiert und die R Core Version 4.4.0 bereitgestellt, welche die Handhabung von Promises in Serialisierungsströmen einschränkt und somit die Schwachstelle adressiert. Nutzer werden dringend aufgefordert, dieses Update so schnell wie möglich zu installieren.
Zusätzlich wird empfohlen, den Umgang mit .rds-, .rdb- und .rdx-Dateien von nicht vertrauenswürdigen oder drittanbieter Quellen in Containern oder in einer Sandbox-Umgebung durchzuführen, um unerwarteten Zugriff auf Ressourcen zu verhindern.
Die Entdeckung dieser Schwachstelle geht auf Kasimir Schulz und Kieran Evans von HiddenLayer zurück. Weitere Informationen zur Schwachstelle und zum Update sind auf der Seite von HiddenLayer verfügbar.
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: