Представлен выпуск hostapd/wpa_supplicant 2.3, набора для обеспечения работы беспроводных протоколов IEEE 802.1X, WPA, WPA2 и EAP, состоящего из приложения wpa_supplicant для подключения к беспроводной сети в роли клиента и фонового процесса hostapd для обеспечения работы точки доступа и сервера аутентификации, включающего такие компоненты как WPA Authenticator, клиент/сервер аутентификации RADIUS, сервер EAP. Исходные тексты проекта распространяются под лицензией BSD.
В версии 2.3 устранена опасная уязвимость (CVE-2014-3686), которая может привести к удалённому выполнению кода атакующего на стороне сервера или клиента. Проблема вызвана ошибкой в коде запуска скриптов в компонентах wpa_cli и hostapd_cli, в результате которой полученная от удалённой стороны неэкранированная строка передаётся в составе аргумента в функцию system(). Воспользовавшись уязвимостью атакующий может отправить в эфир беспроводной сети специально оформленный кадр, обработка которого может привести к выполнению произвольных команд в системе с правами процессов wpa_cli и hostapd_cli, которые в некоторых конфигурациях запускаются под пользователем root.
Проблема проявляется только в конфигурациях, в которых wpa_cli или hostapd_cli используются для выполнения скриптов действий, т.е. используется опция "-a" командной строки или выполняется одно из следующих условий сборки:
- wpa_supplicant v1.0-v2.2 собран с опцией CONFIG_P2P и соединяется с группой P2P;
- wpa_supplicant v2.1-v2.2 собран с опцией CONFIG_WNM;
- wpa_supplicant v2.2 собран с опцией CONFIG_HS20
- wpa_supplicant v0.7.2-v2.2 собран с опцией CONFIG_WPS и работает в роли регистратора WPS;
- hostapd v0.7.2-v2.2 собран с опцией CONFIG_WPS и в конфигурации включен режим WPS.
Кроме устранения уязвимости в новом выпуске проведена работа над ошибками и добавлено несколько улучшений:
- Продолжена работа по внедрению системы автоматизированного тестирования, использующей симулятор mac80211_hwsim, позволяющий тестировать беспроводные сети без оборудования. Степень охвата кода пакета тестами доведена до 77.5%;
- В hostapd и wpa_supplicant обеспечена очистка освобожденной памяти и просроченных ключей, что позволяет избежать сохранения в памяти конфиденциальных данных дольше, чем это необходимо;
- В hostapd добавлена поддержка серии новых атрибутов RADIUS, определённых в RFC 7268: Mobility-Domain-Id, WLAN-HESSID, WLAN-Pairwise-Cipher, WLAN-Group-Cipher, WLAN-AKM-Suite, WLAN-Group-Mgmt-Pairwise-Cipher;
- Обеспечено постоянное время проверки паролей и хэшей, не зависящее от результата операции, что позволяет защититься от атак, основанных на сопоставлении времени выполнения операции;
- Добавлен параметр p2p_search_dela, задающий задержку по умолчанию для p2p_find;
- Улучшен выбор работающих каналов P2P в различных многоканальных системах;
- Улучшена настройка параметров HT/VHT/QoS для TDLS;
- Интерфейс D-Bus модифицирован для поддержки пиров и групп P2P;
- В команду SCAN добавлен необязательный параметр scan_id, позволяющий вручную формировать запросы сканирования для определённых SSID;
- Функциональность Android PNO изменена для отправки только кадров зондирования (Probe Request) только для скрытых SSID;
- Добавлен базовый механизм для добавления в кадры элементов производителей(VENDOR_ELEM_ADD, VENDOR_ELEM_GET, VENDOR_ELEM_REMOVE);
- Удалён код обходного обеспечения совместимости с некорректными реализациями EAP-TTLS/MSCHAPv2. Получение ответа MS-CHAP2-Success теперь является обязательным независимо от состояния опции eap_workaround;
- Добавлена экспериментальная поддержка использования временного, случайно сгенерированного локального MAC-адреса;
- Добавлен интерфейс D-Bus для установки и очистки WFD IE.