CVE-2025-61765
python-socketio ist anfällig für beliebige Python-Codeausführung (RCE) durch bösartige Pickle-Deserialisierung in bestimmten Multi-Server-Bereitstellungen
- Veröffentlicht
- 06.10.2025
- Aktualisiert
- 22.10.2025
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 08.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:LNiedrig · nächste 30 Tage
- Perzentil
- 40,1 %
- Modelldatum
- 15.10.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
python-socketio ist eine Python-Implementierung des Echtzeit-Client-Servers von Socket.IO. Eine Remote-Codeausführung-Schwachstelle in python-socketio-Versionen vor 5.14.0 ermöglicht es Angreifern, beliebigen Python-Code durch bösartige Pickle-Deserialisierung in Multi-Server-Bereitstellungen auszuführen, in denen der Angreifer zuvor Zugriff auf die Message Queue erlangt hat, die die Server für die interne Kommunikation nutzen. Wenn Socket.IO-Server so konfiguriert sind, dass sie ein Message-Queue-Backend wie Redis für die Kommunikation zwischen den Servern verwenden, werden die zwischen den Servern gesendeten Nachrichten mit dem Python-Modul `pickle` kodiert. Wenn ein Server eine dieser Nachrichten über die Message Queue empfängt, geht er davon aus, dass sie vertrauenswürdig ist, und deserialisiert sie sofort. Die Schwachstelle beruht auf der Deserialisierung von Nachrichten mithilfe der Funktion `pickle.loads()` von Python. Hat der Angreifer zuvor Zugriff auf die Message Queue erlangt, kann er einem python-socketio-Server einen präparierten Pickle-Payload senden, der während der Deserialisierung über die Methode `__reduce__` von Python beliebigen Code ausführt. Diese Schwachstelle betrifft nur Bereitstellungen mit einer kompromittierten Message Queue. Der Angriff kann dazu führen, dass der Angreifer beliebigen Code im Kontext eines Socket.IO-Serverprozesses und mit dessen Berechtigungen ausführt. Einzelne Server-Systeme, die keine Message Queue verwenden, sowie Multi-Server-Systeme mit einer sicheren Message Queue sind nicht verwundbar. Zusätzlich zur Sicherstellung, dass bei der Bereitstellung der Message Queue die üblichen Sicherheitspraktiken befolgt werden, können Benutzer des Pakets python-socketio auf Version 5.14.0 oder neuer aktualisieren, die das Modul `pickle` entfernt und die wesentlich sicherere JSON-Kodierung für die Kommunikation zwischen den Servern verwendet.
Quellen
Proof of Concept einer unsicheren Pickle-Deserialisierungs-Schwachstelle in Socket.IO
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.