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 до актуальных версий, в которых данная ошибка исправлена.
- Определите текущую версию Openfire в консоли администрирования или через пакетный менеджер.
- Скачайте исправленную версию (4.6.8, 4.7.5, 4.8.0 или выше) с официального сайта Ignite Realtime.
- Выполните обновление. Для систем на базе Debian/Ubuntu используйте:
wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.7.5_all.deb -O openfire.deb
dpkg -i openfire.deb
- Для систем на базе RHEL/CentOS:
rpm -Uvh https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.7.5-1.noarch.rpm
- Перезапустите службу Openfire:
systemctl restart openfire
Временные меры
Если немедленное обновление невозможно, примените следующие защитные меры для снижения риска:
- Ограничьте доступ к консоли администрирования (порты 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
- Если консоль администрирования доступна через Reverse Proxy (например, Nginx), настройте блокировку запросов, содержащих подозрительные последовательности символов в URL.
Пример конфигурации для Nginx:
if ($request_uri ~* "(\.\./|%2e%2e|%2f)") {
return 403;
}
- Проверьте список пользователей и плагинов на наличие подозрительной активности или неизвестных учетных записей, созданных в период потенциальной уязвимости системы.