Специалисты Университета Нью-Мексико обнаружили уязвимость, которая делает возможным для злоумышленников перехват VPN-соединений на устройствах *NIX. Баг также позволяет внедрять любые данные в TCP-потоки IPv4 и IPv6.
Разработчики ядра Linux обозначили уязвимость идентификатором CVE-2019-14899. «Уязвимость позволяет атакующему определить, подключена ли жертва к VPN, вычислить IP-адрес, присвоенный VPN-сервером, и установить факт активного соединения», — сказано в описании проблемы безопасности.
Выяснилось, что она затрагивает FreeBSD, OpenBSD, macOS, iOS и Android. На данный момент список затронутых уязвимостью систем выглядит так: Ubuntu 19.10 (systemd) Fedora (systemd) Debian 10.2 (systemd) Arch 2019.05 (systemd) Manjaro 18.1.1 (systemd) Devuan (sysV init) MX Linux 19 (Mepis+antiX) Void Linux (runit) Slackware 14.2 (rc.d) Deepin (rc.d) FreeBSD (rc.d) OpenBSD (rc.d)
См. также: «Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice»
Исследователи сообщили, что они смогли получить номера seq и ack путем подсчета зашифрованных пакетов и последующего изучения их размера. Этот эксперимент сделал возможным внедрение данных в TCP-поток и перехват самого соединения.
Отмечается, что уязвимость распространяется на все дистрибутивы Linux, которые работают с версией systemd, выпущенной после 28 ноября 2018 года.
См. также: «Большая часть суперкомпьютеров работают под управлением Linux — обсуждаем ситуацию»
«Злоумышленник может внедрить пакеты только путем атаки на соединение, когда оно не защищено (например, при настройке коммерческого провайдера VPN, когда соединение «выходит» из VPN-сервера и направляется к месту назначения в глобальной сети)», — утверждает Ноэль Кунце, консультант по ИТ-безопасности из Германии.
Однако, как выяснилось, включение фильтрации обратного пути созданием файла /etc/sysctl.d/51-rpfilter.conf с содержимым «net.ipv4.conf.all.rp_filter = 1», фильтрация маршрутных объявлений, а также использование зашифрованного размера пакета и синхронизации могут помочь в решении этой проблемы.