
「💥」CVE-2022-33891 - Внедрение команд в Apache Spark
Интерфейс Apache Spark UI предоставляет возможность включения ACL через параметр конфигурации spark.acls.enable. С помощью фильтра аутентификации он проверяет, имеет ли пользователь разрешения на просмотр или изменение приложения. Если ACL включены, код в HttpSecurityFilter может позволить злоумышленнику выполнить подмену пользователя, указав произвольное имя пользователя. Затем злоумышленник может получить доступ к функции проверки разрешений, которая в конечном итоге создаст команду оболочки Unix на основе его ввода и выполнит её. Это приведет к выполнению произвольных команд оболочки от имени пользователя, под которым запущен Spark. Уязвимость затрагивает Apache Spark версий 3.0.3 и ранее, версии 3.1.1–3.1.2 и версии 3.2.0–3.2.1.
private def getUnixGroups(username: String): Set[String] = {
val cmdSeq = Seq("bash", "-c", "id -Gn " + username)
// we need to get rid of the trailing "\n" from the result of command execution
Utils.executeAndGetOutput(cmdSeq).stripLineEnd.split(" ").toSet
}

pip install requests
git clone https://github.com/AmoloHT/CVE-2022-33891
cd CVE-2022-33891
python3 CVE-2022-33891.py -u http://TARGET.TLD