CVE-2023-22527
Atlassian Confluence Data Center and Server
2024-01-24
Atlassian Confluence Data Center and Server contain an unauthenticated OGNL template injection vulnerability that can lead to remote code execution.
Технический анализ и план устранения
Суть уязвимости
CVE-2023-22527 представляет собой критическую уязвимость типа OGNL-инъекции (Object-Graph Navigation Language) в шаблонах Atlassian Confluence Data Center и Server. Уязвимость позволяет неавторизованному злоумышленнику удаленно выполнить произвольный код (RCE) на сервере. Проблема заключается в недостаточной фильтрации входных данных, которые передаются в движок шаблонов, что дает возможность внедрять и исполнять вредоносные OGNL-выражения. Данной уязвимости присвоен максимальный рейтинг CVSS — 10.0.
Как исправить
Единственным надежным способом устранения уязвимости является обновление Confluence до исправленной версии.
- Определите текущую версию вашего экземпляра Confluence.
- Скачайте соответствующее обновление с официального сайта Atlassian.
- Установите одну из следующих (или более новых) версий:
Для Confluence Data Center и Server: - 8.5.4 (LTS) - 8.5.5 (LTS) - 8.6.0 (Data Center Only) - 8.7.1 (Data Center Only)
Команда для проверки версии (в Linux):
curl -sI http://localhost:8090/login.action | grep X-Confluence-Request-Time
Процесс обновления (пример для Linux):
./atlassian-confluence-8.5.5-x64.bin
Временные меры
Если немедленное обновление невозможно, необходимо принять следующие меры для снижения риска:
- Ограничьте доступ к Confluence из внешних сетей (интернета). Разрешите доступ только через VPN или доверенные IP-адреса.
- Настройте правила на Web Application Firewall (WAF), чтобы блокировать подозрительные POST-запросы, содержащие OGNL-конструкции (например, обращение к
.getContext(),_memberAccess,runtime.getRuntime()). - Создайте резервную копию данных и конфигурационных файлов перед проведением любых работ.
- Проверьте систему на наличие признаков компрометации (неизвестные процессы, подозрительные файлы в директории
/tempили новые пользователи в базе данных).
Пример команды для поиска подозрительных строк в логах доступа:
grep -E "ognl|getRuntime|processbuilder" /opt/atlassian/confluence/logs/access_log.*