CVE-2018-4939
Adobe ColdFusion
2021-11-03
Adobe ColdFusion contains a deserialization of untrusted data vulnerability that could allow for code execution.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2018-4939) в Adobe ColdFusion связана с небезопасной десериализацией данных. Злоумышленник может отправить специально сформированные сериализованные объекты через уязвимые конечные точки (например, HTTP-запросы к определенным компонентам ColdFusion). При обработке этих данных приложение десериализует их, что может привести к выполнению произвольного кода на сервере с правами учетной записи, под которой работает ColdFusion (обычно SYSTEM или root).
Как исправить
Установите официальный патч от Adobe, обновив ColdFusion до версии, в которой уязвимость устранена.
- Для ColdFusion 2016: Установите обновление 5 (Update 5) или более позднее. Актуальная версия на момент закрытия уязвимости —
2016.0.05.320417. - Для ColdFusion 11: Установите обновление 13 (Update 13) или более позднее. Актуальная версия на момент закрытия уязвимости —
11.0.19.0.320417.
Процесс обновления (общий): 1. Создайте полную резервную копию сервера ColdFusion и развертываемых приложений. 2. Загрузите установщик обновления с официального портала Adobe. 3. Остановите сервер ColdFusion и все связанные службы (веб-сервер). 4. Запустите установщик обновления и следуйте инструкциям. 5. После установки перезапустите сервер ColdFusion и веб-сервер. 6. Проверьте работоспособность критичных приложений.
Проверка версии:
В административной панели ColdFusion (/CFIDE/administrator) перейдите в Информация о сервере (Server Information). Номер версии должен соответствовать указанным выше или быть выше.
Временное решение
Если немедленное обновление невозможно, примите следующие меры для снижения риска:
-
Ограничьте сетевой доступ:
- Настройте групповые политики (GPO) или локальный брандмауэр, чтобы разрешить доступ к портам ColdFusion (по умолчанию 8500/HTTP и 8501/HTTPS) только с доверенных IP-адресов (например, адресов балансировщика нагрузки или административных подсетей). ```bash
Пример для Linux iptables (разрешить только с 192.168.1.0/24)
iptables -A INPUT -p tcp --dport 8500 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 8500 -j DROP ```
-
Настройте WAF (Web Application Firewall):
- Активируйте правила, блокирующие атаки на основе десериализации (например, правила OWASP с ID
91535или123456— уточните актуальные ID в вашем WAF). Настройте фильтрацию запросов, содержащих последовательности, характерные для сериализованных объектов Java (например,rO0AB,ACED,java.).
- Активируйте правила, блокирующие атаки на основе десериализации (например, правила OWASP с ID
-
Минимизируйте поверхность атаки:
- Если компоненты ColdFusion Remoting или Flash Remoting (
/flex2gateway/,/flashservices/gateway/,/messagebroker/) не используются в приложениях, отключите их в административной панели ColdFusion или удалите/переименуйте соответствующие файлы и папки в директории развертывания веб-приложения.
- Если компоненты ColdFusion Remoting или Flash Remoting (
-
Повысьте мониторинг:
- Включите детальное логирование в ColdFusion. Настройте SIEM-систему на оповещение о подозрительных запросах к уязвимым эндпоинтам (пути, указанные выше) или запросах, содержащих в теле или заголовках паттерны, связанные с эксплойтами десериализации.