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 ограничено или защищено строгими белыми списками.

  1. Резервное копирование базы данных и конфигурационных файлов:
cp -r /opt/mirthconnect/appdata /opt/mirthconnect/backup_appdata

  1. Загрузка актуального дистрибутива с официального сайта или репозитория GitHub.

  2. Остановка службы Mirth Connect:

systemctl stop mirthconnect

  1. Установка обновления (пример для deb-пакета):
dpkg -i mirthconnect-4.4.1.deb

  1. Запуск службы и проверка версии:
systemctl start mirthconnect

Временные меры

Если немедленное обновление невозможно, необходимо минимизировать риски с помощью сетевых и системных ограничений:

  1. Ограничение доступа к портам администрирования (по умолчанию 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

  1. Использование Web Application Firewall (WAF) для фильтрации входящих POST-запросов, содержащих XML-теги, характерные для эксплойтов XStream (например, <sorted-set>, <dynamic-proxy>, java.lang.ProcessBuilder).

  2. Запуск сервиса Mirth Connect от имени пользователя с минимальными привилегиями в системе, чтобы ограничить возможности злоумышленника в случае успешного взлома.

  3. Изоляция сервера Mirth Connect в отдельном сегменте сети (VLAN) без прямого доступа к критической инфраструктуре и интернету.