Критическая уязвимость в wpa_supplicant, компоненте для подключения к беспроводным сетям

Обнаружена критическая уязвимость в wpa_supplicant

В пакете wpa_supplicant, используемом для организации подключения к беспроводной сети во многих дистрибутивах Linux, BSD и Android, выявленаопасная уязвимость (CVE-2015-1863), которая потенциально может быть использована для выполнения кода злоумышленника при обработке специально оформленных данных в поле SSID при установке или обновлении информации о P2P-пирах.

Допустимый размер поля SSID составляет 32 байта, в то время как при передаче данный элемент передаётся в поле, длина которого ограничивается 8 битным счётчиком, т.е. в данном поле допустимо передать до 255 байт данных. Так как в wpa_supplicant отсутствует проверка размера данного поля, под данные размером до 255 байт отводится буфер в 32 байта, а лишние 223 байта перекроют структуры, следующие за полем SSID. В том числе может оказаться перезаписан находящийся в структуре p2p_device указатель, по которому в дальнейшем передаётся управление. Кроме того, около 150 байт перезаписывают область, находящуюся за пределами выделенного из кучи блока памяти.

В итоге, при получении от другого устройства пакета с некорректным размером SSID не исключается организация выполнения кода злоумышленника, а также модификация структур wpa_supplicant, инициирование краха или организация утечки содержимого памяти процесса. Для эксплуатации уязвимости атакующий должен быть в пределах досягаемости беспроводной сети, чтобы отправить жертве специально оформленный набор кадров, передающих информацию о P2P-связи. Атака упрощается, если устройство жертвы выполняет активные P2P-операции, такие как поиск узлов в сети (P2P_FIND) или приём запросов на соединение (P2P_LISTEN). Если P2P-операции не выполняются, эксплуатировать уязвимость значительно сложнее.

Проблеме подвержены версии wpa_supplicant с 1.0 по 2.4, собранные с опцией CONFIG_P2P (как привило, она включена по умолчанию). Исправление проблемы пока доступно только в виде патча. В качестве обходного пути защиты можно отключить P2P-режим в настройках ("p2p_disabled=1" в файле конфигурации, "P2P_SET disabled 1" в cli) или пересобрать пакет без опции "CONFIG_P2P=y". Оценить появление обновлений в дистрибутивах можно на следующих страницах: RHEL 6, RHEL 7, Ubuntu, Debian, Fedora,openSUSE, SLES, Slackware, Gentoo, CentOS, FreeBSD.

Забытый ПИН больше не потребует стирать весь Android-смартфон

Google разрабатывает запасной способ разблокировки Android-смартфона через привязанный аккаунт. Новинка может избавить пользователей от нынешнего сурового выбора: вспомнить ПИН или отправить все локальные данные под нож. Сейчас при полностью забытом ПИН-коде, пароле или графическом ключе владельцу обычно остаётся сбросить устройство до заводских настроек.

После этого Google попросит подтвердить право собственности через аккаунт, но фотографии, документы и данные приложений без резервной копии уже никто не вернёт.

В Android 17 QPR2 Beta 5 исследователи обнаружили упоминание функции Unlock with Google Account. Её описание предлагает разблокировать устройство с помощью связанного аккаунта Google, если пользователь забыл ПИН или пароль.

Судя по найденному интерфейсу, запасной вход будет добровольным и по умолчанию отключённым. Пользователю придётся заранее разрешить разблокировку через аккаунт в разделе Device unlock.

Фактически компания может вернуть идею, существовавшую в старых версиях Android. До Android 4.4 включительно забытый графический ключ можно было сбросить с помощью данных аккаунта Google. Позднее такую возможность убрали, оставив пользователям фабричный сброс и защиту Factory Reset Protection.

Однако функция пока не работает даже в тестовой Android 17 QPR2 Beta 5, официального анонса от Google нет, а найденный в коде механизм может измениться или вообще не добраться до релиза.

RSS: Новости на портале Anti-Malware.ru