В Atlassian Data Center обнаружена критическая уязвимость
Уязвимость оценена в 9,3 балла по CVSS. Она позволяет неаутентифицированному злоумышленнику прочитать отдельные файлы из корневого каталога веб‑приложения, например конфигурационные файлы с учетными данными. Для эксплуатации необходимо знать точное имя и путь к файлу. При этом уязвимость не позволяет просматривать содержимое каталога.
5 октября Atlassian опубликовала предупреждение, указав, что затронутые облачные продукты уже исправлены. На следующий день в открытом доступе появился первый PoC‑эксплоит, а через несколько часов после публикации технического разбора исследователи сообщили о попытках эксплуатации.
Как устроена уязвимость
Проблема находится в маршрутизаторе веб‑ресурсов /download/*. Tomcat декодирует URL один раз, а маршрутизатор Atlassian — повторно. Поэтому последовательность ..%3a%3a проходит проверку Tomcat и после второго декодирования превращается в ..::. Затем метод Router.unescapeSlashes заменяет :: на /. В результате внутри приложения формируется последовательность обхода пути ../, которую Tomcat уже не проверяет.
Запрос злоумышленника состоит из трех частей:
- маршрута —
resources,sources,batch,contextbatch/jsилиcontextbatch/css; - якоря — пути к существующему ресурсу, например
jira.webresources:color‑picker‑popup/images/; - последовательности обхода пути
..%3a%3a.
Злоумышленнику нужно знать точное имя файла и путь к нему: уязвимость не позволяет просматривать содержимое каталогов. Типичные цели — WEB‑INF/web.xml, WEB‑INF/classes/jira‑application.properties и WEB‑INF/classes/crowd.properties. Если Jira интегрирована с Crowd, в последнем файле хранятся учетные данные приложения в открытом виде.
Какие версии уязвимы
Уязвимость исправлена в версиях из таблицы. Все версии, выпущенные до указанных, уязвимы.
| Продукт | Исправленные версии |
|---|---|
| Bitbucket Data Center |
9.4.26, 10.2.8, 10.5.1 |
| Confluence Data Center |
9.2.26, 10.2.19 |
| Jira Service Management Data Center |
5.12.40, 10.3.26, 11.3.12 |
| Jira Software Data Center |
9.12.40, 10.3.26, 11.3.12 |
| Bamboo Data Center |
10.2.24, 12.1.12 |
| Crowd Data Center |
6.3.7, 7.0.3, 7.1.7, 7.2.4 |
| Crucible |
4.9.15 |
| Fisheye |
4.9.15 |
Как защититься
Обновите продукты Atlassian до исправленных или последних доступных версий. Если сразу установить обновление нельзя, временно ограничьте доступ к продуктам и примените дополнительные меры:
- Закройте продукты от прямого доступа из интернета. Разрешите подключения только через VPN, с IP‑адресов из белого списка или с использованием mTLS.
- Настройте на уровне WAF или прокси правило, которое блокирует запросы, содержащие последовательность
.., непосредственно примыкающую к/,\или::. Учтите URL‑кодированные варианты, в том числе повторное кодирование. Готовое регулярное выражение приведено в бюллетене Atlassian. - Для Confluence, Jira, Jira Service Management, Bamboo и Crowd включите Tomcat RewriteValve и добавьте правила в
rewrite.config. Для Bitbucket настройте правило вurlrewrite.xml. - Проверьте журналы доступа на обращения к
WEB‑INF— это признак попытки эксплуатации.
Для пользователей BI.ZONE WAF уже доступны правила, которые блокируют попытки эксплуатации.