The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в OpenVPN, которая может привести к выполнению кода на сервере

21.06.2017 19:31

Гвидо Вренкен (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'.


  1. Главная ссылка к новости (http://openwall.com/lists/oss-...)
  2. OpenNews: Выпуск OpenVPN 2.4.2, в котором отражены результаты аудита безопасности
  3. OpenNews: Завершён аудит проекта OpenVPN
  4. OpenNews: Доступен релиз OpenVPN 2.4.0
  5. OpenNews: Выпуск OpenVPN 2.3.6, 2.2.3 и 2.0.11 с устранением уязвимости
  6. OpenNews: Представлен Sweet32, новый вид атаки на HTTPS и OpenVPN
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46738-openvpn
Ключевые слова: openvpn
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, An (??), 19:58, 21/06/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Наверно не там выявляли
     
     
  • 2.2, фыв (??), 20:45, 21/06/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Может быть всё намного проще - музыку заказывали не мы и не для нас..
     
     
  • 3.3, фыв (??), 20:47, 21/06/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    к тому же, распил - это не только определение бурления в Госдуме РФ.
     
  • 3.22, пох (?), 10:05, 23/06/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Может быть всё намного проще - музыку заказывали не мы и не
    > для нас..

    там автор тестирования собирает бабло - закажите уже ж наконец и вы.

     
  • 2.4, Аноним (-), 21:00, 21/06/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "Не выявили" = "не опубликовали"
     
  • 2.21, пох (?), 10:03, 23/06/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Наверно не там выявляли

    вероятнее всего, да - тупиковые никем не используемые куски кода не вызвали особого энтузиазма у проверявших (а этот воспользовался роботом туповатым, хехехе).
    "--x509-alt-username" - нет, этим в самом деле кто-то пользуется?

    Остальное - вообще какая-то ересь: OpenVPN to connect to an NTLM version 2 proxy
    и т д.

    хотя, с другой стороны, это означает, что и openvpn повторяет все ошибки конкурентов, ради (якобы)борьбы с которыми и был придуман - пихание в код все большего и большего "ненужно", без возможности отключать эти тонны шлака.

     

  • 1.6, Demo (??), 22:56, 21/06/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как же https://www.opennet.dev/opennews/art.shtml?num=46301
    ?
     
     
  • 2.8, Anonplus (?), 03:02, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Никакой аудит не может выявить все ошибки. Иначе, получилась бы программа, не содержащая ошибок, а такое невозможно (за исключением вот таких случаев - https://www.opennet.dev/opennews/art.shtml?num=23011 - когда можно математически доказать отсутствие ошибок).
     
     
  • 3.9, Andrey Mitrofanov (?), 09:39, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Никакой аудит не может выявить все ошибки. Иначе, получилась бы программа, не
    > содержащая ошибок, а такое невозможно (за исключением вот таких случаев -

    Это не ты в соседней позорился с этими спецификациями? Нет? А зачем повторяешь чужее враньё...

    > https://www.opennet.dev/opennews/art.shtml?num=23011 - когда можно математически доказать
    > отсутствие ошибок).

    #>>формального подтверждения 100% отсутствия ошибок
    #>>не подвержен большинству известных хакерских атак
    #>>большинству известных
    #>>большинству

    /0

     
     
  • 4.10, Andrey Mitrofanov (?), 09:46, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Никакой аудит не может выявить все ошибки. Иначе, получилась бы программа, не
    >> содержащая ошибок, а такое невозможно (за исключением вот таких случаев -
    > Это не ты в соседней позорился

    Снимаю! Приношу извинения!! Попал в ловушку семантики.

    >> https://www.opennet.dev/opennews/art.shtml?num=23011 - когда можно математически доказать
    >> отсутствие ошибок).
    > #>>формального подтверждения 100% отсутствия

    Если это читать, как "довольно неискреннее, лукавое подтвержденеи полного отсутствия ошибок", то _все возражения_ снимаются, отпадают, чтоб не сказать "отсутствуют" !!

     
     
  • 5.13, Ordu (ok), 19:14, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Если это читать, как "довольно неискреннее, лукавое подтвержденеи полного отсутствия ошибок", то _все возражения_ снимаются, отпадают, чтоб не сказать "отсутствуют" !!

    Куда катится наше образование? Технари не понимают словосочетания "формальное доказательство" и умудряются попадать в семантические ловушки сталкиваясь с описанием формального доказательства.

    Поколение ЕГЭ? Я кстати пару лет назад писал ЕГЭ по математике, и он мне показался вполне вменяемым способом оценить школьные знания по математике. Для физ-мат школ слабоват, наверное, разрешающей способности недостаточно: те шансов не имеют попасть мимо диапазона 90-100 баллов, с медианой 95+. Но для просто хороших школ будет достаточно. Странно... странно... Может ты наоборот из старпёров и являешь собой демонстрацию убожества советского образования? Может его зря хвалят?

     
     
  • 6.15, Аноним (-), 20:33, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > ...демонстрацию убожества советского образования? Может его зря хвалят?

    Хреново у тебя с семантикой, немилчеловек.

     
     
  • 7.17, Ordu (ok), 22:29, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> ...демонстрацию убожества советского образования? Может его зря хвалят?
    > Хреново у тебя с семантикой, немилчеловек.

    Да, я знаю, она слишком много артефактов морально устаревшей аристотелевой логики несёт в себе. Но... как говорится, мы работаем над этим. Ща я J.Pearl'а одолею, будет получше.

     
  • 6.23, Аноним (-), 01:04, 25/06/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Я кстати пару лет назад писал ЕГЭ по математике

    Пару лет сделали из тебя эксперта по оценке знаний? Ну-ну. Иди делай лабы, студент.

     
     
  • 7.24, Ordu (ok), 12:50, 25/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>Я кстати пару лет назад писал ЕГЭ по математике
    > Пару лет сделали из тебя эксперта по оценке знаний? Ну-ну. Иди делай
    > лабы, студент.

    Нет, родный. Способы измерения всяких реальных и не очень явлений -- это часть моей специальности.

     
  • 6.25, Аноним (-), 07:34, 27/06/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ЕГЭ
    > и он мне показался вполне вменяемым

    Ставить галочки в ответах и обезьяну научить можно, и получит она среднюю оценку "удовлетворительно", выбирая абсолютно случайные ответы.

     

  • 1.7, Аноним (-), 23:29, 21/06/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Аудит проводили компании прикормленные АНБ.
     
     
  • 2.11, Аноним (-), 09:48, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно подумать, что если бы были не прикормленные...
     
     
  • 3.12, Аноним (-), 11:37, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пойдем дальше..
    А есть такие, которые не прикормлены спецслужбами?
     
     
  • 4.16, Аноним (-), 20:34, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я! У меня и шапочка имеется.


     

  • 1.14, Аноним (-), 19:53, 22/06/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    OpenVPN нафиг не нужен, если есть vtun.
     
     
  • 2.18, Я. Р. Ош (?), 23:44, 22/06/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    vtun нафиг не нужен, если есть RFC 1149.
     
     
  • 3.19, Аноним (-), 09:47, 23/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Уж лучше RFC 2549, там есть QoS.
     
  • 3.20, anonymous (??), 09:48, 23/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    RFC 1149 нафиг не нужен, если есть RFC 2549
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру