CVE-2023-43208
NextGen Healthcare Mirth Connect
2024-05-20
NextGen Healthcare Mirth Connect contains a deserialization of untrusted data vulnerability that allows for unauthenticated remote code execution via a specially crafted request.
Технический анализ и план устранения
Суть уязвимости
CVE-2023-43208 представляет собой критическую уязвимость (CVSS 9.8), связанную с небезопасной десериализацией данных в компоненте NextGen Healthcare Mirth Connect. Она является прямым следствием неполного исправления предыдущей уязвимости (CVE-2023-37679).
Проблема заключается в использовании библиотеки XStream для обработки XML-запросов. Злоумышленник может отправить специально сформированный HTTP-запрос на порты управления (обычно 8443 или 8080), который содержит вредоносную полезную нагрузку. Поскольку проверка данных выполняется некорректно, это позволяет неавторизованному пользователю выполнить произвольный код (RCE) в контексте операционной системы с правами сервиса Mirth Connect.
Как исправить
Единственным надежным способом устранения уязвимости является обновление Mirth Connect до версии 4.4.1 или выше. В этих версиях механизмы десериализации были переработаны, а использование XStream ограничено или защищено строгими белыми списками.
- Резервное копирование базы данных и конфигурационных файлов:
cp -r /opt/mirthconnect/appdata /opt/mirthconnect/backup_appdata
-
Загрузка актуального дистрибутива с официального сайта или репозитория GitHub.
-
Остановка службы Mirth Connect:
systemctl stop mirthconnect
- Установка обновления (пример для deb-пакета):
dpkg -i mirthconnect-4.4.1.deb
- Запуск службы и проверка версии:
systemctl start mirthconnect
Временные меры
Если немедленное обновление невозможно, необходимо минимизировать риски с помощью сетевых и системных ограничений:
- Ограничение доступа к портам администрирования (по умолчанию 8443 и 8080) на уровне сетевого экрана (Firewall). Доступ должен быть разрешен только с доверенных IP-адресов администраторов:
iptables -A INPUT -p tcp --dport 8443 -s <TRUSTED_IP> -j ACCEPT
iptables -A INPUT -p tcp --dport 8443 -j DROP
-
Использование Web Application Firewall (WAF) для фильтрации входящих POST-запросов, содержащих XML-теги, характерные для эксплойтов XStream (например,
<sorted-set>,<dynamic-proxy>,java.lang.ProcessBuilder). -
Запуск сервиса Mirth Connect от имени пользователя с минимальными привилегиями в системе, чтобы ограничить возможности злоумышленника в случае успешного взлома.
-
Изоляция сервера Mirth Connect в отдельном сегменте сети (VLAN) без прямого доступа к критической инфраструктуре и интернету.