CVE-2023-32315

Ignite Realtime Openfire

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-08-24

Официальное описание

Ignite Realtime Openfire contains a path traversal vulnerability that allows an unauthenticated attacker to access restricted pages in the Openfire Admin Console reserved for administrative users.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2023-32315 — это критическая уязвимость обхода пути (Path Traversal) в веб-интерфейсе администрирования Openfire. Проблема возникает из-за недостаточной фильтрации входных данных при обработке URL-запросов.

Неавторизованный злоумышленник может использовать специально сформированный HTTP-запрос (используя последовательности символов /%2e%2e/%2e%2e/), чтобы обойти фильтры аутентификации. Это позволяет получить доступ к защищенным страницам консоли администрирования, таким как setup-finished-jsp или страницам создания пользователей, что в конечном итоге ведет к полной компрометации сервера через создание учетной записи администратора или удаленное выполнение кода (RCE) путем установки вредоносных плагинов.

Как исправить

Основным и рекомендуемым способом устранения уязвимости является обновление Openfire до актуальных версий, в которых данная ошибка исправлена.

  1. Определите текущую версию Openfire в консоли администрирования или через пакетный менеджер.
  2. Скачайте исправленную версию (4.6.8, 4.7.5, 4.8.0 или выше) с официального сайта Ignite Realtime.
  3. Выполните обновление. Для систем на базе Debian/Ubuntu используйте:
wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.7.5_all.deb -O openfire.deb

dpkg -i openfire.deb

  1. Для систем на базе RHEL/CentOS:
rpm -Uvh https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.7.5-1.noarch.rpm

  1. Перезапустите службу Openfire:
systemctl restart openfire

Временные меры

Если немедленное обновление невозможно, примените следующие защитные меры для снижения риска:

  1. Ограничьте доступ к консоли администрирования (порты 9090 и 9091) на уровне сетевого экрана (Firewall), разрешив подключения только с доверенных IP-адресов.
iptables -A INPUT -p tcp --dport 9090 -s <YOUR_ADMIN_IP> -j ACCEPT

iptables -A INPUT -p tcp --dport 9090 -j DROP

  1. Если консоль администрирования доступна через Reverse Proxy (например, Nginx), настройте блокировку запросов, содержащих подозрительные последовательности символов в URL.

Пример конфигурации для Nginx:

if ($request_uri ~* "(\.\./|%2e%2e|%2f)") {
    return 403;
}

  1. Проверьте список пользователей и плагинов на наличие подозрительной активности или неизвестных учетных записей, созданных в период потенциальной уязвимости системы.