🔐 Сначала — что именно нельзя было отдавать
Сертификат и приватный ключ выполняют разные задачи.
Сертификат содержит открытый ключ и сведения об идентичности. Сам по себе он не секрет.
Приватный ключ позволяет доказать, что участник соединения действительно владеет соответствующей криптографической идентичностью. Его нельзя распространять вместе с клиентским ПО, если он принадлежит доверенному серверу.
В TLS 1.3 это доказательство связано с подписью данных рукопожатия: просто скопировать чужой публичный сертификат недостаточно. Получить соответствующий приватный ключ — совсем другая история. Как устроена аутентификация в TLS
📦 Уязвимость №1: подмена источника обновлений
CVE-2026-78225 — CVSS 4.0: 9,5.
В компоненте deployer-ng Update Controller нашли комплект сертификатов с незашифрованным приватным RSA-ключом. Он присутствовал в дистрибутивах для Windows и Linux.
По оценке Cydome, получение этого ключа потенциально позволяет имитировать доверенный сервер обновлений и передавать несанкционированные пакеты, вплоть до выполнения кода.
Но между «нашёл ключ» и «выполнил код» есть несколько условий:
• Уязвимый клиент должен взаимодействовать с подконтрольным атакующему узлом.
• Предъявленная идентичность должна пройти проверки клиента.
• Доставленный пакет должен пройти применяемые проверки обновлений.
Это логическая модель риска, а не опубликованная последовательность действий на захваченном судне. Краткое уведомление не раскрывает все детали доставки и проверки пакета. Описание исследователей
🪪 Уязвимость №2: подмена доверенного клиента
CVE-2026-81855 — CVSS 4.0: 9,3.
В DMS robot testing framework обнаружили клиентский сертификат вместе с незашифрованным приватным ключом. Конфигурация ссылалась на эту пару для mTLS-аутентификации к внутреннему сервису DMS.
При mTLS проверяют обе стороны: клиент проверяет сервер, а сервер — клиента.
Получив чужую рабочую пару «сертификат + ключ», посторонний потенциально может представиться этим клиентом. Cydome указывает на риск доступа к эксплуатационным данным или конфигурации сервиса.
Однако ключ не создаёт сетевую доступность: до внутреннего сервиса ещё нужно иметь возможность подключиться. А успешная аутентификация не обязательно даёт административные права — результат зависит от полномочий этой идентичности. Второе уведомление Cydome
🧠 Почему шифрование не спасает
Шифрование может исправно защищать трафик между двумя участниками, один из которых — злоумышленник.
Проблема возникает на уровне доверия: система принимает доказательство владения ключом, который уже оказался у постороннего.
Это известный класс ошибок — CWE-321, использование встроенных криптографических ключей. Возможные последствия включают присвоение чужой идентичности и обход механизмов защиты. Классификация MITRE
🔬 Два нюанса, которые легко потерять в громком заголовке
Первый: ключ аутентификации сервера не обязательно является ключом подписи обновлений. Это разные функции. Независимая проверка подписи пакета может быть дополнительным барьером; нельзя автоматически объявлять её сломанной.
Второй: утечка приватного ключа сертификата не означает возможность расшифровать весь ранее записанный трафик. Например, TLS 1.3 с обменом эфемерными ключами обеспечивает прямую секретность: последующая компрометация долговременного ключа сама по себе не раскрывает прошлые сеансы. Версию и режим TLS конкретного продукта эти уведомления не устанавливают. Спецификация TLS 1.3
🛠 Что проверять защитникам
По обоим уведомлениям, производитель подготовил исправления; получать их следует у Wärtsilä.
Для подобного класса проблем установка патча должна сопровождаться проверкой доверия: перестал ли сервис принимать старую идентичность? Заменён ли скомпрометированный ключ? Удаление файла из нового установщика не уничтожает уже сделанные копии.
Дополнительно стоит проверить доступность внутренних сервисов, права технических клиентов и журналы необычных подключений.
Подтверждён здесь дефект защиты. Захват двигателя, навигации или целого флота через эти две уязвимости в уведомлениях не доказан.
Post #52
490