In der Hauptimplementierung der Programmiersprache R, die auf die Lösung von Aufgaben in der statistischen Datenbearbeitung, Analyse und Visualisierung ausgerichtet ist, wurde eine kritische Schwachstelle (CVE-2024-27322) entdeckt, die zur Ausführung von Code beim Deserialisieren nicht überprüfter Daten führt. Die Schwachstelle kann beim Verarbeiten speziell gestalteter Dateien in den Formaten RDS (R Data Serialization) und RDX, die zum Datenaustausch zwischen Anwendungen verwendet werden, ausgenutzt werden. Das Problem wurde mit der Version R 4.4.0 behoben. Informationen zu den Aktualisierungen der Pakete in den Distributionen finden Sie auf den Seiten von Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch und FreeBSD.
Die Schwachstelle wird durch ein spezifisches Verhalten der Funktion readRDS verursacht, die zum Laden von Dateien in den Formaten RDS und RDX verwendet wird und die es ermöglicht, serialisierte R-Objekte zur Bearbeitung auf ein anderes System zu übertragen. Die Serialisierung ermöglicht es, den Zustand zu speichern und Datensätze zwischen Programmen auszutauschen. Das RDS-Format ermöglicht die Speicherung des Zustands eines einzelnen Objekts, während das RDX-Format in Kombination mit RDB-Dateien die Übertragung von Informationen über mehrere Objekte ermöglicht. Das Problem hängt damit zusammen, dass das RDS-Format den Objektcode PROMSXP unterstützt, der mit dem Typ Promise verbunden ist und zur Definition von Ausdrücken verwendet wird, die asynchron während der Nutzung der zugehörigen Werte aufgerufen werden.
Bei der Deserialisierung werden drei Komponenten verwendet, um ein Promise-Objekt zu definieren – der Wert des Promises, der Ausdruck und die Umgebung. Wenn für den Typ Promise kein zuvor berechneter Wert angegeben ist, wird dieser bei der Deserialisierung durch die Ausführung des Ausdrucks mittels der Funktion „eval“ berechnet. Somit kann ein Angreifer die Ausführung beliebigen Codes in der R-Sprache erreichen, indem er diesen anstelle des mit nicht berechneten Werten in den RDS- oder RDX-Dateien verknüpften Ausdrucks einfügt.
Quelle: opennet.ru
