CVE-2022-22536

SAP Multiple Products

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

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

2022-08-18

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

SAP NetWeaver Application Server ABAP, SAP NetWeaver Application Server Java, ABAP Platform, SAP Content Server and SAP Web Dispatcher allow HTTP request smuggling. An unauthenticated attacker can prepend a victim's request with arbitrary data, allowing for function execution impersonating the victim or poisoning intermediary Web caches.

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

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

CVE-2022-22536 — это критическая уязвимость типа HTTP Request Smuggling (контрабанда HTTP-запросов), обнаруженная в компонентах SAP, использующих SAP Internet Communication Manager (ICM). Проблема связана с некорректной обработкой конвейерных HTTP-запросов (HTTP pipelining) и заголовка Content-Length.

Злоумышленник может отправить специально сформированный запрос, который ICM интерпретирует как два отдельных запроса. Это позволяет «подмешать» произвольные данные в начало следующего легитимного запроса другого пользователя. В результате атакующий может: * Выполнять действия от имени аутентифицированного пользователя (Impersonation). * Осуществлять захват сессий. * Отравлять кэш промежуточных прокси-серверов. * Проводить атаки типа Cross-Site Scripting (XSS) без прямого взаимодействия с жертвой.

Уязвимости присвоен максимальный балл по шкале CVSS — 10.0, так как она не требует аутентификации и может быть эксплуатирована удаленно.

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

Основным способом устранения уязвимости является установка соответствующих обновлений безопасности (Security Patch Day — February 2022). Необходимо обновить ядро SAP (Kernel) или SAP Web Dispatcher до версий, указанных в SAP Note 3123396.

1. Проверка текущей версии ядра Выполните команду для определения версии ICM:

gwread -v

Или проверьте версию через транзакцию SMICM -> Goto -> HTTP Server -> Display Version.

2. Применение исправлений Необходимо обновить компоненты до следующих минимальных уровней (или выше): * SAP Kernel 7.22: Patch Level 1100 * SAP Kernel 7.49: Patch Level 900 * SAP Kernel 7.53: Patch Level 900 * SAP Kernel 7.77: Patch Level 501 * SAP Kernel 7.81: Patch Level 201 * SAP Kernel 7.85: Patch Level 100 * SAP Kernel 7.86: Patch Level 30 * SAP Web Dispatcher 7.77: Patch Level 501 * SAP Web Dispatcher 7.81: Patch Level 201 * SAP Web Dispatcher 7.85: Patch Level 100

3. Перезапуск системы После замены исполняемых файлов ядра необходимо перезапустить инстанс SAP или процесс Web Dispatcher для вступления изменений в силу.

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

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

1. Использование SAP-скрипта для проверки (Health Check) SAP выпустила специальный инструмент для проверки уязвимости ваших систем. Запустите его для идентификации незащищенных узлов:

python3 check_cve_2022_22536.py

2. Настройка фильтрации на уровне Web Dispatcher или ICM Если обновление невозможно, настройте блокировку подозрительных запросов с помощью правил модификации HTTP (Rewrite Rules). Однако этот метод считается менее надежным, чем патч ядра.

3. Ограничение использования HTTP Pipelining В некоторых случаях помогает отключение поддержки keep-alive соединений или ограничение обработки нескольких запросов в одном соединении, но это может существенно снизить производительность системы.

4. Использование WAF (Web Application Firewall) Настройте правила WAF для блокировки запросов, содержащих аномалии в заголовках Content-Length и Transfer-Encoding, а также для предотвращения десинхронизации HTTP-потока. Большинство современных WAF имеют специфические сигнатуры для защиты от Request Smuggling.