В сети появилось сразу несколько PoC-эксплоитов для критической уязвимости в Jenkins, позволяющей неавторизованным лицам читать произвольные файлы. Хуже того, некоторые ИБ-специалисты сообщают, что хакеры уже используют проблему в атаках.
Недавно специалисты SonarSource обнаружили две уязвимости в Jenkins, которые при определенных условиях позволяют злоумышленникам получить доступ к данным на уязвимых серверах и выполнить произвольные CLI-команды.
Первая проблема, CVE-2024-23897, оценивается как критическая и позволяет неаутентифицированным атакующим с правами overall/read читать данные из произвольных файлов на сервере Jenkins. Злоумышленники могут прочитать первые несколько строк в файлах, причем их количество зависит от доступных команд CLI.
Ошибка связана со стандартным поведением парсера args4j в Jenkins, который автоматически расширяет содержимое файлов в аргументы команд, если аргумент начинается с символа «@», что позволяет читать произвольные файлы.
По словам исследователей, эксплуатация уязвимости может привести к повышению привилегий до уровня администратора и удаленному выполнению произвольного кода. Однако для этого потребуется выполнить ряд условий, которые отличаются для каждого варианта атаки.
Вторая уязвимость, CVE-2024-23898, представляет собой XSS, связанную с WebSocket, и позволяет злоумышленникам выполнять произвольные CLI-команды, обманом заставив пользователя перейти по вредоносной ссылке. Риски, связанные с этой ошибкой, должны снижаться с помощью существующих защитных механизмов в браузерах, однако они все же существуют из-за отсутствия повсеместного применения этих практик.
24 января 2024 года разработчики Jenkins выпустили исправления для этих уязвимостей в версиях 2.442 и LTS 2.426.3, а также опубликовали бюллетень, в котором описали возможные сценарии атак и пути эксплуатации багов.
После того как информация об уязвимостях в Jenkins стала общедоступной, многие исследователи воспроизвели некоторые из описанных разработчиками сценариев атак и создали рабочие PoC-эксплоиты, теперь опубликованные на GitHub.
В основном эксплоиты предназначены для проблемы CVE-2024-23897, которая дает атакующим возможность удаленного выполнения кода на непропатченных серверах Jenkins. Многие из этих PoC уже проверены и точно работают, поэтому злоумышленники могут использовать их с минимальными изменениями или вообще без них.
Некоторые ИБ-специалисты предупреждают, что их ханипоты Jenkins уже зафиксировали соответствующую активность злоумышленников, свидетельствующую о попытках атак на CVE-2024-23897.