CVE-2017-10271

Oracle WebLogic Server

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

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

2022-02-10

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

Oracle Corporation WebLogic Server contains a vulnerability that allows for remote code execution.

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

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

Уязвимость в компоненте WLS Security (подкомпонент wls-wsat.war) Oracle WebLogic Server. Атакующий может отправить специально сформированный XML-запрос по протоколу HTTP на порт, где работает WLS (часто 7001). Это позволяет выполнить произвольный код на сервере с правами пользователя, под которым запущен экземпляр WebLogic.

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

Установите официальный патч от Oracle. Патч зависит от версии вашего WebLogic Server.

  1. Определите точную версию WebLogic Server: bash cd /путь/к/домену_weblogic/bin . ./setDomainEnv.sh java weblogic.version

  2. Установите соответствующий патч (Critical Patch Update - CPU):

    • Для версий 10.3.6.0: Установите патч p27395085_1036_Generic (входит в состав CPU за октябрь 2017).
    • Для версий 12.1.3.0: Установите патч p27395085_121300_Generic (входит в состав CPU за октябрь 2017).
    • Для версий 12.2.1.0, 12.2.1.1, 12.2.1.2: Установите патч p27395085_122110_Generic (входит в состав CPU за октябрь 2017).

    Патчи необходимо скачать с портала поддержки Oracle (My Oracle Support) и установить с помощью утилиты opatch.

    Пример установки патча для 12.2.1.2: ```bash

    Остановите все серверы управляемого домена и Admin Server

    cd /путь/к/ORACLE_HOME unzip /путь/к/скачанному/патчу/p27395085_122110_Generic.zip cd 27395085 $ORACLE_HOME/OPatch/opatch apply ```

Временное решение

Если немедленная установка патча невозможна, выполните следующие действия:

  1. Удалите или переименуйте уязвимый компонент: bash # Найти и удалить/переименовать файл wls-wsat.war find /путь/к/ORACLE_HOME -name "wls-wsat.war" -type f # Пример для типичного расположения: mv /путь/к/ORACLE_HOME/user_projects/domains/ВАШ_ДОМЕН/servers/AdminServer/tmp/_WL_internal/wls-wsat /путь/к/ORACLE_HOME/user_projects/domains/ВАШ_ДОМЕН/servers/AdminServer/tmp/_WL_internal/wls-wsat.BAK Важно: После этого необходимо перезапустить все экземпляры WebLogic Server.

  2. Ограничьте доступ с помощью брандмауэра:

    • Настройте правила Network Security Group (NSG) / Security Groups / iptables, чтобы разрешить входящие подключения к портам WebLogic (например, 7001) только с доверенных IP-адресов (административных серверов, сегментов приложений).
  3. Настройте WAF (Web Application Firewall):

    • Добавьте правило для блокировки HTTP-запросов, содержащих в теле (POST-данных) строки:
      • wls-wsat
      • AsyncResponseService
      • AsyncResponseServiceHttps
      • WorkArea