PoC CVE-2024-28157
Обзор
Плагин Jenkins GitBucket версии 0.8 и более ранних не очищает URL Gitbucket на страницах сборок, что приводит к уязвимости хранимого межсайтового скриптинга (XSS), эксплуатируемой злоумышленниками, способными настраивать задания.
Шаги эксплуатации
Настройка Jenkins (с использованием Docker):
- Используйте Docker для запуска образа Jenkins.
docker run jenkins/jenkins:lts
- Установите плагин Gitbucket через графический интерфейс (последняя версия этого плагина — 0.8, которая уязвима, поэтому эксплойт сработает).
Эксплойт:
- Перейдите в New Item и создайте новую задачу. Выберите тип элемента (в демонстрации я выбрал freestyle project).
- В конфигурации укажите простой XSS-пейлоад
javascript:alert('hello') в разделе Gitbucket URL.
- Сохраните конфигурацию и перейдите в опцию Gitbucket. Наблюдайте выполнение XSS.
Видео эксплойта
jenkinsxxsexploit.webm