CVE-2023-38203
Adobe ColdFusion
2024-01-08
Adobe ColdFusion contains a deserialization of untrusted data vulnerability that allows for code execution.
Технический анализ и план устранения
Суть уязвимости
CVE-2023-38203 представляет собой критическую уязвимость типа «десериализация недоверенных данных» в Adobe ColdFusion. Проблема возникает из-за некорректной обработки входных данных в библиотеке WSDL (Web Services Description Language).
Злоумышленник может отправить специально сформированный HTTP-запрос, содержащий вредоносный сериализованный объект. При попытке сервера десериализовать этот объект происходит выполнение произвольного кода (RCE) в контексте безопасности службы ColdFusion. Уязвимость позволяет полностью скомпрометировать сервер без предварительной аутентификации.
Как исправить
Основным способом устранения является установка официальных обновлений безопасности от Adobe. Необходимо обновить ColdFusion до следующих версий (или выше): - ColdFusion 2023: Update 1 - ColdFusion 2021: Update 7 - ColdFusion 2018: Update 17
Алгоритм обновления через консоль администратора:
- Войдите в ColdFusion Administrator.
- Перейдите в раздел Server Update > Updates.
- Нажмите Check for Updates.
- Скачайте и установите доступное обновление.
Для ручной установки (если сервер изолирован):
- Скачайте соответствующий JAR-файл обновления с официального сайта Adobe.
- Выполните команду от имени администратора/root:
java -jar hotfix-filename.jar
- Перезапустите службу ColdFusion:
systemctl restart coldfusion
Или в Windows:
Restart-Service -Name "ColdFusion 2021 Application Server"
Временные меры
Если немедленное обновление невозможно, необходимо ограничить векторы атаки:
-
Блокировка доступа к внешним WSDL-запросам на уровне WAF (Web Application Firewall). Настройте правила для фильтрации запросов, содержащих подозрительные сериализованные объекты в теле POST-запросов.
-
Ограничение доступа к административной панели ColdFusion (/cfadmin) и портам управления только для доверенных IP-адресов.
-
Настройка параметров безопасности Java. Добавьте в файл
jvm.config(в секциюjava.args) параметры, ограничивающие десериализацию, если это не нарушает работу бизнес-логики:
-Djdk.serialFilter=!*
- Запуск службы ColdFusion с минимальными привилегиями в системе (не от имени LocalSystem или root), чтобы ограничить ущерб в случае успешной эксплуатации.