SAP исправила три уязвимости с CVSS 10.0 в Gateway, ICM и Web Dispatcher

SAP

SAP выпустила патчи для трёх уязвимостей в компонентах NetWeaver: SAP Gateway, Internet Communication Manager и Web Dispatcher. Все три получили CVSS 10.0 по версии 3.1, эксплуатировать их может неаутентифицированный атакующий с сетевым доступом. Успешная атака даёт выполнение команд ОС с правами пользователя "<sid>adm" или выполнение кода в процессе SAP, то есть полный контроль над системой. Ошибки нашла лаборатория Onapsis и объединила их в две группы: PROXYGATE и ICM2SHELL. Исправления вышли в ноябрьском Patch Day, обновляться нужно срочно, начиная с систем, доступных из интернета.

Что не так с проверкой источника и памяти

Обе группы объединяет одно: атакующему не нужны учётные данные, а пользователь ничего не заметит. Достаточно сетевого доступа к конкретному порту.

Природа ошибок при этом разная. В первом случае шлюз неверно определяет, откуда пришёл запрос, и доверяет внешнему клиенту как внутреннему. Во втором процесс SAP не проверяет длину входных данных и портит собственную память.

Для администратора это две разные процедуры проверки. В Gateway критично состояние одного файла и одного параметра. В ICM и Web Dispatcher - версия ядра и наличие WebSocket.

PROXYGATE: шлюз считает внешнего клиента внутренним сервером

Основа первой уязвимости - ошибка контроля доступа (CWE-863) в SAP Gateway. Шлюз принимает решения о доверии на основе списков ACL, и для проксирования ключевую роль играет "prxyinfo".

Он определяет, какие соединения Gateway может проксировать. Если "prxyinfo" разрешает внешние источники или файла нет вовсе, а параметр "gw/acl_mode_proxy" не равен 1, шлюз относит внешнего клиента к категории внутреннего сервера приложений.

Дальше срабатывают доверенные правила, рассчитанные на внутренние системы. Специально сформированный запрос заставляет Gateway запустить программу или команду от имени ОС. Классические "secinfo" и "reginfo" на эту цепочку не влияют, поэтому их проверка ничего не покажет.

Практический вывод простой: смотреть надо на "prxyinfo" и режим "gw/acl_mode_proxy", а не только на общие списки доступа.

ICM2SHELL: переполнение при сборке сообщений WebSocket

Вторая группа - CVE-2026-76964 в Internet Communication Manager (CWE-1287, недостаточная проверка входных данных) и CVE-2026-89126 в Web Dispatcher (CWE-122, переполнение буфера в куче).

Ошибка находится в обработке WebSocket. При сборке фрагментов сообщения данные выходят за границу памяти, отведённой под соединение. Атакующий управляет содержимым и длиной фрагментов, а процесс не сверяет их с размером буфера.

Последствий два: удалённое выполнение кода и отказ в обслуживании. WebSocket включён по умолчанию, поэтому под удар попадают и те системы, где приложения его не используют. Отдельно в списке затронутых - Web Dispatcher внутри SAP HANA XS.

Затронутые версии и исправления

Для Gateway SAP выпустила Note 3798345 и FAQ 3810197. В CVE-записи перечислены ветки 7.22 (KRNL64NUC, KRNL64UC, KERNEL), 7.22EXT, 7.53, 7.54, 7.77, 7.93, 8.04, 9.16, 9.20 и 9.21.

Исправление состоит из двух частей: обновление ядра и установка "gw/acl_mode_proxy=1". Ядра 7.93 и 9.16 поддерживают параметр. Для 7.22, 7.53, 7.54, 7.77 и 8.04 нужен патч из note, для 9.20 и 9.21 - обновление ядра. Устаревшие ядра придётся переводить на поддерживаемую ветку.

Для ICM и Web Dispatcher вышли Notes 3778530 и 3778556 и FAQ 3778788. Патчи закрывают ядра 7.53, 7.54, 7.77, 7.93, 9.16, 9.18 и 9.20, а также Web Dispatcher в составе HANA XS. В CVE-записях дополнительно указаны HDB 2.00, XS_ADVANCED_RUNTIME 1.00, SAP_EXTENDED_APP_SERVICES 1 и WEBDISP 7.53.

Если обновиться нельзя

Для ICM и Web Dispatcher есть временная мера: отключить WebSocket параметром "icm/HTTP/support_websocket_upgrade=FALSE" с последующим перезапуском. Настройка ломает интеграции, которые держатся на WebSocket, поэтому её стоит согласовать с владельцами приложений и прогнать на тестовом контуре.

Второй вариант - закрыть backend за обновлённым Web Dispatcher на более высоком patch level. Тогда запросы клиентов проходят через пропатченный компонент, а внутренний сервер недоступен напрямую.

Для Gateway включение "gw/acl_mode_proxy=1" само по себе патч не заменяет. Это часть исправления, а не альтернатива ему: без обновлённого ядра проверка остаётся неполной.

Что делать в первую очередь

Приоритет - интернет-доступные Gateway, ICM и Web Dispatcher. Порты 33NN и 48NN ограничьте на периметре, если они не должны быть видны снаружи.

Настройте контроль неожиданных перезапусков процессов "dev_icm" и "dev_webdisp". Рестарт или падение этих процессов может быть следствием попытки эксплуатации.

Onapsis не наблюдала эксплуатации этих уязвимостей в реальных атаках на момент публикации. Технические детали эксплуатации в отчёте не раскрыты, поэтому риск оценивается по доступности компонентов и по CVSS.

Первое, что стоит сделать сейчас, - инвентаризация внешне доступных Gateway, ICM и Web Dispatcher. Затем проверка "prxyinfo" на разрешённые внешние источники и порядок установки ноябрьских патчей.

Ссылки

Комментарии: 0