CVE-2018-18809

TIBCO JasperReports

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

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

2022-12-29

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

TIBCO JasperReports Library contains a directory-traversal vulnerability that may allow web server users to access contents of the host system.

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

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

CVE-2018-18809 представляет собой критическую уязвимость типа Directory Traversal (обход директории) в библиотеке TIBCO JasperReports. Она возникает из-за недостаточной фильтрации входных данных в ресурсах, обрабатываемых сервером отчетов.

Злоумышленник может отправить специально сформированный HTTP-запрос, содержащий последовательности обхода пути (например, ../../), что позволяет выйти за пределы корневого каталога веб-приложения. Это дает возможность неавторизованному пользователю просматривать содержимое произвольных файлов на хост-системе, к которым имеет доступ процесс веб-сервера (например, /etc/passwd, конфигурационные файлы с учетными данными или системные логи).

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

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

  1. Обновите TIBCO JasperReports Library до версии 7.1.1, 7.2.0 или выше.
  2. Обновите TIBCO JasperReports Server до версии 6.3.4, 6.4.3, 7.1.1 или выше.
  3. Обновите TIBCO Jaspersoft for AWS with Multi-Tenancy до версии 7.1.1 или выше.
  4. Обновите TIBCO Jaspersoft Reporting and Analytics for AWS до версии 7.1.1 или выше.

Если вы используете Maven, обновите версию зависимости в файле pom.xml:

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>7.1.1</version>
</dependency>

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

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

  1. Настройте правила Web Application Firewall (WAF) для блокировки запросов, содержащих паттерны обхода директорий:
\.\.\/
\.\.\\
%2e%2e%2f

  1. Ограничьте права доступа учетной записи, от которой запущен сервис JasperReports, используя принцип наименьших привилегий (Least Privilege). Убедитесь, что процесс не имеет доступа к критическим системным файлам.

  2. Изолируйте приложение в контейнере или chroot-окружении, чтобы ограничить видимость файловой системы хоста.

  3. Настройте фильтрацию входящего трафика на уровне веб-сервера (например, Nginx), чтобы запретить подозрительные URI:

location ~ \.\./ {
    deny all;
}