Об уязвимости в пакете pppd только что сообщили общественности. (CVE-2020-8597) что серьезно влияет на некоторые службы VPN, DSL-соединения, а также Ethernet поскольку обнаруженная ошибка позволяла выполнять код, отправляющий специально разработанные запросы аутентификации в системы, которые используют PPP (протокол точка-точка) или PPPoE (PPP через Ethernet).
И это, как мы уже упоминали, эти протоколы часто используются различными поставщиками для установления соединений через Ethernet или DSL, а также используются в некоторых VPN, например, pptpd и openfortivpn.
Чтобы проверить восприимчивость систем к проблеме, подготовлен прототип эксплойта, который уже он доступен для широкой публики.
О постановлении
Уязвимость вызвана переполнением буфера. в реализации Extensible Authentication Protocol (EAP).
Дополнительная логическая ошибка заставляет функцию eap_input () не проверять, согласован ли EAP во время фазы протокола управления линией (LCP).
Это позволяет неаутентифицированному злоумышленнику отправить пакет EAP. даже если ppp отклонил согласование аутентификации из-за отсутствия поддержки EAP или из-за несоответствия предварительно согласованной парольной фразы, согласованной на этапе LCP.
Уязвимый код pppd в eap_input продолжит обработку пакета EAP и вызовет переполнение буфера стека.
Эти непроверенные данные неизвестного размера могут быть использованы для повреждения памяти целевой системы. Pppd часто работает с высокими привилегиями (системными или root) и работает вместе с драйверами ядра. Это позволяет злоумышленнику потенциально запускать произвольный код с привилегиями корневого или системного уровня.
С этим, атака может быть проведена на этапе до аутентификации Передайте, отправив пакет с типом EAPT_MD5CHAP, включая очень длинное имя хоста, которое не помещается в выделенный буфер.
Из-за ошибки в коде для проверки размера поля rhostname, злоумышленник может перезаписать данные вне буфера в стеке и добейтесь удаленного выполнения вашего кода с привилегиями root.
Уязвимость проявляется на стороне сервера и клиента., то есть может быть атакован не только сервер, но и клиент, который пытается подключиться к серверу, контролируемому злоумышленником (например, злоумышленник может сначала взломать сервер через уязвимость, а затем начать атаковать клиентов, которые подключаются ).
Уязвимость также влияет на стек lwIP, но поддержка EAP не включена в настройках по умолчанию в lwIP.
Затронутые версии и решение
Таким образом, эта обнаруженная неисправность влияет на pppd версий с 2.4.2 по 2.4.8 включительно и решается в виде заплатки. Некоторые из вас могут знать, что сообщение об ошибке широкой публике происходит спустя много времени после обнаружения и решения проблемы. И хотя это занимает целый процесс, все же остается часть пользователя, которая должна выполнить соответствующее обновление.
Статус решения проблемы можно просмотреть внутри отчетов основных дистрибутивов Linux.
Это можно увидеть в эти страницы: Debian, Ubuntu, RHEL, Федора, SUSE, OpenWRT, Арка, НетБСД.
В RHEL, OpenWRT и SUSE пакет pppd скомпилирован с включением "Stack Smashing Protection" ("-fstack-протектор»В gcc), что ограничивает операцию блокировки.
Помимо дистрибутивов, уязвимость также подтверждается в некоторых продуктах Cisco (CallManager), TP-LINK и Synology (DiskStation Manager, VisualStation VS960HD и Router Manager) с использованием кода pppd или lwIP.
Как таковой патч уже доступен в репозиториях большинства дистрибутивов Linux, а некоторые уже реализовали его, предложив обновление пакета.
Если вы хотите узнать об этом больше о найденной неисправности вы можете проверить детали и дополнительную информацию По следующей ссылке.