CVE-2020-7961

Liferay Liferay Portal

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

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

2021-11-03

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

Liferay Portal contains a deserialization of untrusted data vulnerability that allows remote attackers to execute code via JSON web services.

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

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

Уязвимость (CVE-2020-7961) в Liferay Portal связана с небезопасной десериализацией данных в JSON веб-сервисах. Атакующий может отправить специально сформированный запрос к уязвимому JSON веб-сервису. При обработке этого запроса происходит десериализация вредоносных данных, что позволяет удалённо выполнить произвольный код на сервере с правами пользователя, под которым работает Liferay.

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

Основной метод устранения — обновление Liferay Portal до версии с исправлением.

  1. Определите текущую версию Liferay. Проверьте файл portal.properties или версию в интерфейсе администратора (Control Panel → Server Administration → Properties → System Properties, ищите liferay.version).
  2. Обновитесь до исправленной версии:

    • Liferay Portal 7.2.x: Обновитесь до версии 7.2.1 GA2 или новее.
    • Liferay Portal 7.1.x: Обновитесь до версии 7.1.3 GA4 или новее.
    • Liferay Portal 7.0.x: Обновитесь до версии 7.0.6 GA7 или новее.
    • Liferay Portal 6.2.x: Обновитесь до версии 6.2 GA5 или новее.

    Скачайте исправленную версию с официального портала Liferay и выполните обновление согласно официальной документации.

  3. Если используете Liferay DXP:

    • Обновитесь до Fix Pack 72+ для DXP 7.2.
    • Обновитесь до Fix Pack 21+ для DXP 7.1.
    • Обновитесь до Fix Pack 96+ для DXP 7.0.
    • Для DXP 6.2 обновитесь до Fix Pack 15+.

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

Если немедленное обновление невозможно, примените следующие меры:

  1. Ограничьте сетевой доступ. Настройте межсетевой экран (firewall) или группы безопасности (Security Groups) так, чтобы доступ к портам Liferay (по умолчанию 8080, 80, 443) был только с доверенных IP-адресов (например, из внутренней сети или VPN).
  2. Настройте WAF (Web Application Firewall). Добавьте в WAF правило для блокировки запросов, содержащих в теле известные шаблоны сериализованных Java-объектов (например, строки, начинающиеся с rO0ABX, ACED или содержащие javax.management). Пример правила для ModSecurity: bash SecRule REQUEST_BODY "@rx (?:rO0ABX|ACED|javax\.management\..*Remote)" \ "id:1000,\ phase:2,\ deny,\ status:403,\ msg:'Potential Java Deserialization Attack'"
  3. Отключите ненужные JSON веб-сервисы (крайняя мера). Это может нарушить работу портала. Если вы уверены, что они не используются, вы можете ограничить доступ к /api/jsonws/ через конфигурацию веб-сервера (например, в web.xml или на уровне nginx/Apache), заблокировав соответствующий URL-путь.