„`html
Zusammenfassung
CVE-2026-79657 ist eine kritische Remote Code Execution (RCE) Vulnerability in NLTK-Versionen vor 3.10.3. Die Schwachstelle existiert in den Pickle-Ladern, die ganze Modul-Namespaces als vertrauenswürdig einstufen, statt nur spezifische sichere Funktionen zuzulassen. Angreifer können manipulierte Pickle-Payloads erstellen, um beliebige Befehle während des Ladens von Modell- oder Tokenizer-Artefakten auszuführen.
Betroffene Systeme
- NLTK (Natural Language Toolkit) Versionen < 3.10.3
- Anwendungen, die NLTK zur Verarbeitung von vortrainierten Modellen nutzen
- Systeme mit abhängigen Paketen wie numpy und ReppTokenizer
- Produktionsumgebungen, die externe Tokenizer-Artefakte laden
Technische Details
Die Vulnerability liegt in der unsicheren Deserialisierung von Pickle-Objekten. NLTK vertraut auf Basis der Modul-Zugehörigkeit gesamten Namespaces, ohne zu validieren, welche Funktionen tatsächlich aufgerufen werden dürfen.
Angreifer exploitieren dies durch das Pickle-REDUCE-Opcode, das beliebige Python-Objekte instanziieren kann. Folgende Funktionen sind bekannt gefährlich:
ReppTokenizer._execute()– direkte BefehlsausfĂĽhrungnumpy.f2py.crackfortran.myeval()– Evaluation von Code
Ein Angreifer muss ein manipuliertes Modell oder Tokenizer-Artefakt bereitstellen, das beim Laden durch pickle.load() oder ähnliche Funktionen deserialisiert wird.
Empfohlene Massnahmen
- Sofortiges Update auf NLTK 3.10.3 oder höher
- Validierung aller externe Modellartefakte vor dem Laden
- Implementierung von Sandboxing fĂĽr Pickle-Deserialisierung
- Nutzung von
pickle.loads()mit eingeschränkten Modulen - Netzwerk-Segmentierung für Systeme, die NLTK nutzen
- Monitoring auf verdächtige Pickle-Operationen
Bewertung
CVSS Score: 9.8 (Critical)
Angriffsvektor: Netzwerk | Authentifizierung: Keine | Benutzerinteraktion: Keine
Diese Vulnerability ermöglicht vollständige Systemkompromittierung ohne Privilegien-Eskalation erforderlich. Sofortiges Handeln ist notwendig.
„`