CVE-2025-23298: Remote Code Execution in NVIDIA Merlin erreichen
Die Trend Micro Zero Day Initiative hat eine kritische Schwachstelle in NVIDIAs Transformers4Rec-Bibliothek entdeckt, die die Ausführung von Remote-Code mit Root-Berechtigungen ermöglicht. Diese Schwachstelle, CVE-2025-23298, beruht auf unsicherer Deserialisierung beim Laden von Modell-Checkpoints mit Pythons Pickle-Modul. Transformers4Rec, Teil des Merlin-Ökosystems, wird häufig für Empfehlungsaufgaben verwendet und integriert sich in Hugging Face Transformers. Der Fehler liegt in der Funktion load_model_trainer_states_from_checkpoint, die torch.load() direkt ohne Sicherheitsparameter verwendet und sie so bösartigen Pickle-Dateien aussetzt. Pickles __reduce__-Methode ermöglicht die Ausführung von beliebigem Code während der Deserialisierung. Die Angriffsfläche ist aufgrund des üblichen Modell-Sharings und des Vertrauens in Checkpoint-Dateien erheblich, insbesondere da diese Prozesse oft mit erhöhten Berechtigungen ausgeführt werden. Ein bösartiger Checkpoint könnte Systembefehle ausführen, bevor Modellgewichte geladen werden. Die realen Auswirkungen umfassen Remote-Code-Ausführung, Privilegienerweiterung, Datenexfiltration und Supply-Chain-Angriffe. NVIDIA hat die Schwachstelle durch die Implementierung eines benutzerdefinierten Laderahmens behoben, der die Deserialisierung auf zugelassene Klassen beschränkt. Dieser Vorfall unterstreicht die allgegenwärtigen Sicherheitsprobleme im ML/AI-Ökosystem aufgrund der Abhängigkeit von Pickle. Entwickler werden dringend aufgefordert, Pickle für nicht vertrauenswürdige Daten zu vermeiden, weights_only=True zu verwenden, zugelassene Klassen einzuschränken und sichere Serialisierungsformate wie Safetensors in Betracht zu ziehen. Organisationen sollten die Herkunft von Modellen prüfen, Signaturen implementieren und das Laden von Modellen in einer Sandbox durchführen. Die ML-Community muss sich von Pickle lösen und Sicherheit bei der Gestaltung von Frameworks priorisieren.
load_model_trainer_states_from_checkpoint, dietorch.load()direkt ohne Sicherheitsparameter verwendet und sie so bösartigen Pickle-Dateien aussetzt. Pickles__reduce__-Methode ermöglicht die Ausführung von beliebigem Code während der Deserialisierung. Die Angriffsfläche ist aufgrund des üblichen Modell-Sharings und des Vertrauens in Checkpoint-Dateien erheblich, insbesondere da diese Prozesse oft mit erhöhten Berechtigungen ausgeführt werden. Ein bösartiger Checkpoint könnte Systembefehle ausführen, bevor Modellgewichte geladen werden. Die realen Auswirkungen umfassen Remote-Code-Ausführung, Privilegienerweiterung, Datenexfiltration und Supply-Chain-Angriffe. NVIDIA hat die Schwachstelle durch die Implementierung eines benutzerdefinierten Laderahmens behoben, der die Deserialisierung auf zugelassene Klassen beschränkt. Dieser Vorfall unterstreicht die allgegenwärtigen Sicherheitsprobleme im ML/AI-Ökosystem aufgrund der Abhängigkeit von Pickle. Entwickler werden dringend aufgefordert, Pickle für nicht vertrauenswürdige Daten zu vermeiden,weights_only=Truezu verwenden, zugelassene Klassen einzuschränken und sichere Serialisierungsformate wie Safetensors in Betracht zu ziehen. Organisationen sollten die Herkunft von Modellen prüfen, Signaturen implementieren und das Laden von Modellen in einer Sandbox durchführen. Die ML-Community muss sich von Pickle lösen und Sicherheit bei der Gestaltung von Frameworks priorisieren.