CVE-2017-12637
SAP NetWeaver
2025-03-19
SAP NetWeaver Application Server (AS) Java contains a directory traversal vulnerability in scheduler/ui/js/ffffffffbca41eb4/UIUtilJavaScriptJS that allows a remote attacker to read arbitrary files via a .. (dot dot) in the query string.
Технический анализ и план устранения
Суть уязвимости
CVE-2017-12637 представляет собой критическую уязвимость типа Directory Traversal (обход каталога) в компоненте SAP NetWeaver Application Server Java. Проблема локализована в сервлете UIUtilJavaScriptJS, который является частью планировщика задач (Scheduler UI).
Из-за недостаточной фильтрации входных данных в строке запроса, злоумышленник может использовать последовательности ../ (dot-dot-slash) для выхода за пределы предназначенной директории веб-приложения. Это позволяет удаленному пользователю без аутентификации прочитать произвольные файлы на операционной системе, к которым имеет доступ учетная запись, запускающая SAP AS Java (например, конфигурационные файлы, файлы паролей или системные логи).
Как исправить
Основным и единственным надежным способом устранения уязвимости является установка соответствующих обновлений безопасности (Security Patch Day — November 2017).
- Определите текущую версию компонента
SAP-JEE-CORилиBA-CORE. - Скачайте исправление через SAP Support Portal, ориентируясь на SAP Note #2547431.
- Примените обновление через SAP Software Update Manager (SUM).
Минимальные версии компонентов с исправлением: * SAP NetWeaver AS Java 7.11: SP 13 * SAP NetWeaver AS Java 7.20: SP 9 * SAP NetWeaver AS Java 7.30: SP 10 * SAP NetWeaver AS Java 7.31: SP 13 * SAP NetWeaver AS Java 7.40: SP 8 * SAP NetWeaver AS Java 7.50: SP 3
Для проверки версии через консоль (OS level):
/usr/sap/<SID>/SYS/exe/jvm/bin/java -cp /usr/sap/<SID>/<Instance>/j2ee/cluster/bin/ext/launcher/launcher.jar com.sap.engine.offline.OfflineToolLauncher com.sap.engine.system.info.InfoPrinter
Временные меры
Если немедленная установка патча невозможна, необходимо ограничить эксплуатацию на уровне сетевого периметра или конфигурации сервера приложений.
- Настройка правил на Web Application Firewall (WAF) или Reverse Proxy для блокировки запросов, содержащих последовательности обхода директорий в URL. Пример логики фильтрации:
.*/scheduler/ui/js/.*(\.\./|\.\.\\).*
- Ограничение доступа к URL-адресу планировщика на уровне SAP Web Dispatcher. Добавьте правило в профиль конфигурации:
if %{PATH} url-regexp ^/scheduler/ui/js/.*$ [RegExpFlag=i]
Action=Forbidden
- Проверка прав доступа на уровне ОС. Убедитесь, что пользователь
sapadmили<sid>admимеет минимально необходимые права доступа к файловой системе, чтобы ограничить объем данных, которые могут быть прочитаны в случае успешной атаки.