EP3 - MAC0352 Компьютерные сети и распределённые системы 2023
Тема: CVE-2022-33891
Выполнение произвольных shell-команд в приложении Spark, использующем аутентификацию через ACL
Студенты
- Elinilson Vital
- Leoarndo Bozzetto
Инструкция по установке патча CVE-2022-33891 для Ubuntu 22.04
Предварительные требования
- Ubuntu 22.04
- Git
- Maven
- Python 3
Шаги по применению патча
- Клонируйте репозиторий с исправлением:
git clone https://github.com/elsvital/cve-2022-33891-fix.git
- Перейдите в каталог Spark без патча:
- Скомпилируйте Spark без патча:
sudo ./build/mvn -DskipTests clean package
- Запустите службу Spark:
sudo ./sbin/start-master.sh
- Клонируйте POC-репозиторий для проверки уязвимости:
git clone https://github.com/HuskyHacks/cve-2022-33891
- Перейдите в каталог исходного кода POC:
- Проверьте уязвимость:
python3 poc.py -u http://localhost -p 8080 --check --verbose
- Вернитесь в главный каталог:
- Остановите службу Spark:
sudo ./sbin/stop-master.sh
- Примените патч по указанной ссылке или объедините изменения в локальном репозитории.
# Access: https://github.com/apache/spark/commit/1d524a88f6e93e9971a09f70eb2804dca51d578c
- Перекомпилируйте Spark с применённым патчем:
sudo ./build/mvn -DskipTests clean package
- Запустите службу Spark снова:
sudo ./sbin/start-master.sh
- Перейдите обратно в каталог исходного кода POC:
- Подтвердите, что уязвимость устранена:
python3 poc.py -u http://localhost -p 8080 --check --verbose
Видеоурок
Для видеодемонстрации процесса установки патча посмотрите учебное видео:

Дополнительные примечания
Замените http://localhost на соответствующий IP-адрес или имя хоста вашей службы Spark при необходимости.