EP3 - MAC0352 Redes de Computadores y Sistemas Distribuidos 2023
Tema: CVE-2022-33891
Ejecución de comandos shell arbitrarios en una aplicación Spark que utiliza autenticación vía ACL
Alumnos
- Elinilson Vital
- Leoarndo Bozzetto
Instrucciones de parche para CVE-2022-33891 en Ubuntu 22.04
Requisitos previos
- Ubuntu 22.04
- Git
- Maven
- Python 3
Pasos para aplicar el parche
- Clona el repositorio de la corrección:
git clone https://github.com/elsvital/cve-2022-33891-fix.git
- Cambia al directorio de Spark sin el parche:
- Compila Spark sin el parche:
sudo ./build/mvn -DskipTests clean package
- Inicia el servicio de Spark:
sudo ./sbin/start-master.sh
- Clona el repositorio POC de verificación de la vulnerabilidad:
git clone https://github.com/HuskyHacks/cve-2022-33891
- Navega al directorio fuente del POC:
- Verifica la vulnerabilidad:
python3 poc.py -u http://localhost -p 8080 --check --verbose
- Regresa al directorio principal:
- Detén el servicio de Spark:
sudo ./sbin/stop-master.sh
- Aplica el parche desde el enlace proporcionado o fusiona los cambios en tu repositorio local.
# Access: https://github.com/apache/spark/commit/1d524a88f6e93e9971a09f70eb2804dca51d578c
- Recompila Spark con el parche aplicado:
sudo ./build/mvn -DskipTests clean package
- Inicia el servicio de Spark nuevamente:
sudo ./sbin/start-master.sh
- Vuelve al directorio fuente del POC:
- Confirma que la vulnerabilidad está parcheada:
python3 poc.py -u http://localhost -p 8080 --check --verbose
Tutorial en video
Para ver un recorrido en video del proceso de aplicación del parche, mira el tutorial en:

Notas adicionales
Reemplaza http://localhost con la dirección IP o el nombre de host adecuados de tu servicio de Spark si es necesario.