CVE-2016-9563
SAP NetWeaver
2021-11-03
SAP NetWeaver Application Server Java Platforms contains an unspecified vulnerability in BC-BMT-BPM-DSK which allows remote, authenticated users to conduct XML External Entity (XXE) attacks.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (XXE) в компоненте BC-BMT-BPM-DSK позволяет аутентифицированному удаленному злоумышленнику передать на сервер специально сформированный XML-документ. При обработке этого документа парсер XML некорректно интерпретирует внешние сущности (ENTITY), что может привести к: * Чтению произвольных файлов с файловой системы сервера приложения. * Проведению атак типа "отказ в обслуживании" (DoS). * Инициированию исходящих сетевых запросов (SSRF) к внутренним системам.
Как исправить
Установите официальный патч от SAP. Конкретная версия патча зависит от версии вашего SAP NetWeaver AS Java и уровня поддержки (Support Package Stack).
-
Определите точные данные вашей системы:
- Версия SAP NetWeaver AS Java (например, 7.31, 7.40, 7.50).
- Уровень Support Package Stack (SPS).
- Номер Support Package (SP).
-
Установите соответствующий патч:
- Перейдите в SAP Support Portal (https://support.sap.com).
- Найдите примечание SAP Security Note 2243220 (это основная нота, исправляющая уязвимости XXE в различных компонентах, включая BC-BMT-BPM-DSK). Для CVE-2016-9563 также может быть прямая ссылка на ноту 2296903 или другие.
- В тексте примечания найдите ссылки на необходимые корректирующие патчи (Kernel Patches) для вашей версии.
- Загрузите и примените патч в соответствии с официальной инструкцией SAP.
Пример команды для применения патча ядра (Kernel Patch) в Unix-системе после загрузки архива: ```bash
Остановите экземпляр Java
sapcontrol -nr <instance_number> -function Stop
Распакуйте и выполните скрипт патча (имя может отличаться)
cd /usr/sap/patches unzip SAPEXE_<version>.SAR ./sapinst SAPEXE_<version>.SAR
Запустите экземпляр Java
sapcontrol -nr <instance_number> -function Start ```
Временное решение
Если немедленная установка патча невозможна, выполните следующие действия:
-
Настройте WAF (Web Application Firewall):
- Разработайте и активируйте строгое правило для блокировки HTTP-запросов, содержащих потенциально опасные конструкции DTD (
<!DOCTYPE,<!ENTITY,SYSTEM,PUBLIC).
- Разработайте и активируйте строгое правило для блокировки HTTP-запросов, содержащих потенциально опасные конструкции DTD (
-
Ограничьте функционал парсера XML (если возможно):
- В конфигурации приложения или на уровне кода отключите обработку внешних DTD и сущностей. Для стандартных парсеров Java это можно сделать, установив свойства:
- Внимание: Данная настройка требует глубокого понимания работы приложения и должна быть предварительно протестирована в нерабочее время.
-
Усильте мониторинг:
- Настройте правила в SIEM/SOC для обнаружения аномальной активности, связанной с компонентом BC-BMT-BPM-DSK.
- Мониторьте журналы приложения на наличие ошибок парсинга XML или подозрительных попыток доступа к файлам.