CVE-2018-5430
TIBCO JasperReports
2022-12-29
TIBCO JasperReports Server contain a vulnerability which may allow any authenticated user read-only access to the contents of the web application, including key configuration files.
Технический анализ и план устранения
Суть уязвимости
CVE-2018-5430 представляет собой уязвимость обхода каталогов (Directory Traversal) в компоненте TIBCO JasperReports Server. Проблема заключается в недостаточной проверке путей к файлам, запрашиваемым через веб-интерфейс.
Любой аутентифицированный пользователь (даже с минимальными привилегиями) может отправить специально сформированный запрос и получить доступ на чтение к файлам веб-приложения. Это позволяет злоумышленнику извлечь критически важные конфигурационные файлы, такие как web.xml, файлы настроек подключения к базам данных и файлы с учетными данными, что в дальнейшем может привести к полной компрометации сервера.
Как исправить
Основным способом устранения уязвимости является обновление программного обеспечения до версий, в которых данная ошибка была исправлена.
- Определите текущую версию JasperReports Server.
- Обновите сервер до одной из следующих версий (или более новых):
- TIBCO JasperReports Server: версии 6.2.4, 6.3.3, 6.4.2
- TIBCO JasperReports Server Community Edition: версия 6.4.2
- TIBCO JasperReports Server for AWS: версия 6.4.2
Для обновления выполните следующие шаги (на примере Linux-дистрибутива):
Остановите службу сервера приложений (например, Tomcat):
./ctlscript.sh stop
Создайте резервную копию базы данных репозитория и текущей директории приложения:
pg_dump -U postgres jasperserver > js-db-backup.sql
cp -r /opt/jasperreports-server-vX.X /opt/jasperreports-server-backup
Запустите скрипт обновления из дистрибутива новой версии:
./js-upgrade-seda.sh
Запустите службу:
./ctlscript.sh start
Временные меры
Если немедленное обновление невозможно, рекомендуется применить следующие меры для снижения риска:
- Ограничьте права доступа для учетных записей пользователей, оставив доступ только доверенному персоналу.
- Настройте правила Web Application Firewall (WAF) для блокировки запросов, содержащих последовательности обхода директорий (например,
../,..\,%2e%2e%2f). - Установите строгие разрешения на уровне файловой системы, чтобы процесс, под которым запущен JasperReports (например, пользователь
tomcat), имел доступ только к необходимым для работы директориям. - Проверьте конфигурацию
web.xmlи убедитесь, что доступ к чувствительным ресурсам ограничен ролями безопасности:
<security-constraint>
<web-resource-collection>
<web-resource-name>Restricted Files</web-resource-name>
<url-pattern>/WEB-INF/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>ROLE_ADMINISTRATOR</role-name>
</auth-constraint>
</security-constraint>