EP3 - MAC0352 Computernetzwerke und verteilte Systeme 2023
Thema: CVE-2022-33891
Ausführung beliebiger Shell-Befehle in einer Spark-Anwendung, die ACL-Authentifizierung verwendet
Studenten
- Elinilson Vital
- Leoarndo Bozzetto
CVE-2022-33891 Patch-Anleitung für Ubuntu 22.04
Voraussetzungen
- Ubuntu 22.04
- Git
- Maven
- Python 3
Schritte zum Anwenden des Patches
- Klone das Fix-Repository:
git clone https://github.com/elsvital/cve-2022-33891-fix.git
- Wechsel in das Spark-Verzeichnis ohne Patch:
- Kompiliere Spark ohne Patch:
sudo ./build/mvn -DskipTests clean package
- Starte den Spark-Dienst:
sudo ./sbin/start-master.sh
- Klone das Repository für den Proof-of-Concept zur Schwachstellenüberprüfung:
git clone https://github.com/HuskyHacks/cve-2022-33891
- Navigiere zum Quellverzeichnis des PoC:
- Überprüfe die Schwachstelle:
python3 poc.py -u http://localhost -p 8080 --check --verbose
- Kehre zum Hauptverzeichnis zurück:
- Stoppe den Spark-Dienst:
sudo ./sbin/stop-master.sh
- Wende den Patch von dem bereitgestellten Link an oder führe die Änderungen in deinem lokalen Repository zusammen.
# Zugriff: https://github.com/apache/spark/commit/1d524a88f6e93e9971a09f70eb2804dca51d578c
- Kompiliere Spark mit dem angewendeten Patch neu:
sudo ./build/mvn -DskipTests clean package
- Starte den Spark-Dienst erneut:
sudo ./sbin/start-master.sh
- Navigiere zurück zum Quellverzeichnis des PoC:
- Bestätige, dass die Schwachstelle geschlossen ist:
python3 poc.py -u http://localhost -p 8080 --check --verbose
Video-Tutorial
Eine Video-Anleitung zum Patch-Prozess findest du hier:

Zusätzliche Hinweise
Ersetze http://localhost bei Bedarf durch die entsprechende IP-Adresse oder den Hostnamen deines Spark-Dienstes.