Удалённо эксплуатируемая уязвимость в Linux-драйвере для чипов Realtek
Во входящем в состав ядра Linux драйвере rtlwifi для беспроводных адаптеров на чипах Realtek выявлена уязвимость (CVE-2019-17666), которая потенциально может быть эксплуатирована для организации выполнения кода в контексте ядра при отправке специально оформленных кадров.
Уязвимость вызвана переполнением буфера в коде с реализацией режима P2P (Wifi-Direct). При разборе кадров NoA (Notice of Absence) отсутствует проверка размера одного из значений, что позволяет добиться записи хвоста данных в область за границей буфера и переписать информацию в следующих за буфером структурах ядра.
Атака может быть совершена через отправку специально оформленных кадров на систему с активным сетевым адаптером на базе чипа Realtek с поддержкой технологии Wi-Fi Direct, позволяющей двум беспроводным адаптерам установить соединение напрямую без точки доступа. Для эксплуатации проблемы подключение к беспроводной сети атакующего не требуется, также не требуется выполнения каких-либо действий со стороны пользователя, достаточно нахождения атакующего в зоне охвата беспроводного сигнала.
Рабочий прототип эксплоита пока ограничивается удалённым вызовом краха ядра, но потенциально уязвимость не исключает возможности организации выполнения кода (предположение пока только теоретическое, так как прототипа эксплоита для выполнения кода ещё нет, но выявивший проблему исследователь уже работает над его созданием).
Проблема проявляется начиная с ядра 3.12 (по другим данным, проблема проявляется начиная с ядра 3.10), выпущенного в 2013 году. Исправление пока доступно только в виде патча. В дистрибутивах проблема остаётся неисправленной.
Проследить за устранением уязвимостей в дистрибутивах можно на данных страницах: Debian, SUSE/openSUSE, RHEL, Ubuntu, Arch Linux, Fedora. Вероятно уязвимость также затрагивает и платформу Android.