Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2022-33891 — 「💥」CVE-2022-33891 - Внедрение команд в Apache Spark | Kitploit
Инструменты/GitHubGitHub/amoloht/cve-2022-33891
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и Управление
GitHubamoloht/cve-2022-33891

CVE-2022-33891

「💥」CVE-2022-33891 - Внедрение команд в Apache Spark

Репозиторий
25514 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

「💥」CVE-2022-33891

Описание

Интерфейс 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.

Уязвимый код

root@kitploit:~
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
}
  • https://github.com/apache/spark/pull/36315/files#diff-96652ee6dcef30babdeff0aed66ced6839364ea4b22b7b5fdbedc82eb655eeb5L41

Демонстрация

demo

Использование

root@kitploit:~
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

Ссылки

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-33891
  • https://lists.apache.org/thread/p847l3kopoo5bjtmxrcwk21xp6tjxqlc
Скачать инструмент