CVE-2015-5317

Jenkins Jenkins User Interface (UI)

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-05-12

Официальное описание

Jenkins User Interface (UI) contains an information disclosure vulnerability that allows users to see the names of jobs and builds otherwise inaccessible to them on the "Fingerprints" pages.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2015-5317 представляет собой уязвимость раскрытия информации (Information Disclosure) в пользовательском интерфейсе Jenkins. Проблема заключается в некорректной проверке прав доступа на страницах «Fingerprints» (отпечатки файлов).

Пользователи, имеющие доступ к системе, могут просматривать имена заданий (jobs) и номера сборок (builds), к которым у них нет прямого разрешения на просмотр (Read permission). Это происходит, когда артефакты из защищенных проектов имеют те же контрольные суммы (MD5), что и файлы в проектах, доступных пользователю. Злоумышленник может использовать перебор или анализ зависимостей для получения структуры закрытых проектов.

Как исправить

Основным и рекомендуемым способом устранения уязвимости является обновление Jenkins до версии, в которой была исправлена логика проверки прав доступа на страницах Fingerprints.

  1. Обновите Jenkins (LTS) до версии 1.625.3 или выше.
  2. Обновите Jenkins (Weekly) до версии 1.640 или выше.

Процесс обновления (для систем на базе Debian/Ubuntu):

apt-get update

apt-get install jenkins

После обновления необходимо перезапустить сервис:

systemctl restart jenkins

Если вы используете Jenkins в виде .war файла, скачайте актуальную версию с официального сайта и замените старый файл:

wget https://updates.jenkins.io/latest/jenkins.war

Временные меры

Если немедленное обновление невозможно, рекомендуется применить следующие настройки для снижения риска:

  1. Ограничение доступа на уровне сетевого экрана или Reverse Proxy (Nginx/Apache) к эндпоинтам, содержащим /fingerprint/.
  2. Пересмотр стратегии безопасности (Matrix Authorization Strategy). Убедитесь, что анонимным пользователям запрещен любой доступ к системе.
  3. Отключение функции записи отпечатков (Fingerprinting) в настройках критически важных заданий, если их имена являются конфиденциальными.
  4. Использование плагина Role-based Strategy для более гранулярного контроля доступа, хотя это не устраняет корень проблемы в уязвимых версиях, но может усложнить эксплуатацию.