19 марта, 2024
Найдена уязвимость в популярной OpenVPN

Найдена уязвимость в популярной OpenVPN

Пару слов про сам OpenVPN. Если кто не в курсе, то данный vpn дико по популярен за бугром. Создан в 2002 году Джеймсом Йонаном.

Сайт: https://openvpn.net

Гвидо Вренкен (Guido Vranken), известный разработкой нескольких атак против различных реализаций SSL/TLS, опубликовал результаты fuzzing-тестирования кодовой базы пакета для создания виртуальных частных сетей OpenVPN, в результате которого им было выявлено 4 опасные уязвимости и две неопасные. Одна из уязвимостей потенциально может привести к выполнению кода на сервере.

Публикация сведений об уязвимостях скоординирована с разработчиками OpenVPN, благодаря чему уже опубликованы релизы OpenVPN 2.4.3 и 2.3.17, в которых устранены выявленные проблемы. При этом в дистрибутивах уязвимости пока остаются неисправлеными (Debian, RHEL, SUSE, Fedora, Ubuntu). Интересно, что незадолго до выявления уязвимостей, проект OpenVPN успешно прошёл два независимых аудита кодовой базы, которые не выявили данных проблем.

Наиболее опасная уязвимость (CVE-2017-7521) проявляется на серверах, использующих опцию «—x509-alt-username» и соответствующее расширение сертификата X.509. Аутентифицированный клиент, имеющий возможность подключения к серверу OpenVPN, может вызвать ситуацию двойного освобождения области памяти (double free), которая потенциально может быть эксплуатирована для организации выполнения кода на сервере. Для успешной эксплуатации требуется добиться, чтобы функция ASN1_STRING_to_UTF8() при вызове из extract_x509_extension() вернула значение False, что по предварительной оценке возможно в условии исчерпания доступной процессу памяти.

Другие уязвимости:

  • CVE-2017-7508 — возможность удалённо завершить работу сервера или клиента через отправку специально оформленного пакета IPv6. Проблема проявляется при включении опции «—mssfix»;
  • CVE-2017-7512 — серия проблем в коде разбора сертификатов OpenSSL, вызванных утечкой нескольких байт памяти при обработке каждой попытки соединения. Сгенерировав большое число запросов можно вызвать исчерпания всей доступной серверному процессу памяти и вызвать крах или подготовить условия для эксплуатации уязвимости CVE-2017-7521;
  • CVE-2017-7520 — возможность удалённого краха клиентского ПО или утечки информации со стороны клиента на стадии до проведения аутентификации (можно прочитать 96 лишних байт стека, которые вполне могут содержать пароль к прокси). Проблема вызвана возможностью чтения из области памяти вне границ буфера и проявляется в системах применяющих опцию «—http-proxy» совместно с аутентификацией через ntlm2. Эксплуатация может быть совершена путём модификации трафика в ходе MITM-атаки между клиентом и прокси;
  • CVE-2017-7522 — возможность вызова краха сервера, использующего опцию «—x509-track», при передаче аутентифицированным клиентом сертификата с нулевым символом в строке ASN.1. Проблема проявляется в конфигурациях, собранных с библиотекой mbed TLS/PolarSSL . Атака маловероятна так как требуется наличие заверенного удостоверяющим центром сертификата с нулевым символом;
  • Разыменование нулевого указателя в функции
    establish_http_proxy_passthru()

    которое может быть использовано для инициирования краха клиента в случае незаполнения сервером полей ‘realm’ и ‘nonce’.

Читать также:  Продемонстрирована полноценная атака на Smart TV

Добавить комментарий