Уязвимости в OpenVPN и SoftEther VPN

Подготовлен выпуск OpenVPN 2.5.7, пакета для создания виртуальных частных сетей, позволяющего организовать шифрованное соединение между двумя клиентскими машинами или обеспечить работу централизованного VPN-сервера для одновременной работы нескольких клиентов. В новой версии устранены две уязвимости:

  • CVE-2023-46850 – обращение к области памяти после её освобождения (use-after-free) может привести к отправке на другую сторону соединения содержимого памяти процесса, а также потенциально к удалённому выполнению кода. Проблема проявляется в конфигурациях, использующих TLS (запускаемых без параметра “–secret”).
  • CVE-2023-46849 – возникновение ситуации деления на ноль может привести к удалённому инициированию аварийного завершения сервера доступа в конфигурациях, использующих опцию “–fragment”.

Из не связанных с безопасностью изменений в OpenVPN 2.5.7:

  • Добавлено предупреждение при отправке другой стороной пакетов DATA_V1 при попытке подключения клиента OpenVPN 2.6.x к несовместимым серверам на базе версий 2.4.0-2.4.4 (для устранения несовместимости можно использовать опцию “–disable-dco”).
  • Удалён завязанный на OpenSSL 1.x устаревший метод, использующий OpenSSL Engine для загрузки ключей. В качестве причины называется нежелание автора перелицензировать код с новыми исключениями на связывание.
  • Добавлено предупреждение при соединении клиента p2p NCP к серверу p2mp (комбинация, используемая для работы без согласования шифров), так как имеются проблемы при использовании версий 2.6.x на обеих сторонах соединения.
  • Добавлено предупреждение о том, что флаг “–show-groups” не отображает все поддерживаемые группы.
  • В параметре “–dns” удалена обработка аргумента “exclude-domains”, появившегося в ветке 2.6, но пока не поддерживаемого бэкендами.
  • Добавлено предупреждение, показываемое, если управляющее сообщение INFO имеет слишком большой размер и не может быть перенаправлено клиенту.
  • Для сборок с использованием MinGW и MSVC добавлена поддержка системы сборки CMake. Удалена поддержка старой сборочной системы MSVC.

Дополнительно можно отметить выявление 9 уязвимостей в открытом VPN-сервере SoftEther. Одной из проблем (CVE-2023-27395) присвоен критический уровень опасности – уязвимость вызвана переполнением буфера и может привести к удалённому выполнению кода на стороне клиента, при попытке подключения к серверу, контролируемому злоумышленником. Уязвимость пока устранена только в форме патча.

Ещё две уязвимости (CVE-2023-32634, CVE-2023-27516) дают возможность получить несанкционированный доступ к VPN-сеансу через применение заданных по умолчанию учётных данных для сервера RPC, перехваченных в ходе MITM-атаки. Уязвимости устранены в форме патча.

Уязвимости CVE-2023-31192 и CVE-2023-32275 (патч) могут привести к утечке конфиденциальной информации в некоторых пакетах в результате совершения MITM-атак. Оставшиеся 4 уязвимости (CVE-2023-22325, CVE-2023-23581, CVE-2023-22308 и CVE-2023-25774) могут применяться для вызова отказа в обслуживании, например, для принудительного разрыва соединения или аварийного завершения работы клиента. В кодовую базу SoftEther VPN недавно также было принято исправление 7 уявзимостей, подробностей о которых пока нет.

Release. Ссылка here.