Критическая уязвимость в 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.

Подпишитесь на новости

Один клик администратора может отдать WordPress-сайт злоумышленнику

В ядре WordPress обнаружили цепочку уязвимостей Click2Shell, которая позволяет удалённо выполнить PHP-код на сервере без учётной записи атакующего. Для захвата сайта достаточно, чтобы авторизованный администратор открыл специально подготовленную ссылку.

Проблему нашёл исследователь pwn.ai Паулос Йибело. Согласно техническому отчёту, WordPress по-разному обрабатывал один и тот же параметр ссылки предпросмотра темы.

API каталога очищал значение и находил легитимную тему, а JavaScript в браузере администратора вставлял исходную строку в jQuery-селектор без должного экранирования.

В результате подготовленный URL заставлял интерфейс WordPress самостоятельно нажать кнопку установки. Администратор при этом не выбирал ни «Установить», ни «Активировать», а тема оставалась неактивной и внешне сайт продолжал работать как обычно.

Для полноценного RCE исследователи добавили второй компонент — уязвимую тему Mobile Repair Zone 2.5.4 из официального каталога. Во время предпросмотра WordPress загружал её PHP-код, после чего небезопасный AJAX-обработчик позволял скачать и выполнить произвольный плагин.

Дальше атакующий мог читать wp-config.php, красть ключи и данные БД, менять файлы, создавать администраторов и внедрять скрипты. Атака не является полностью автоматической: ссылку должен открыть вошедший в систему администратор.

Роли Author и Editor нужных полномочий не имеют. Доставить URL можно через целевой фишинг или уже существующую XSS-уязвимость.

WordPress закрыл дыру в версии 7.1.1 и выпустил патчи для поддерживаемых старых веток. Поскольку подробности и PoC уже опубликованы, откладывать обновление нельзя. Временной страховкой может стать DISALLOW_FILE_MODS, запрещающий установку тем и плагинов, но нормальное лекарство всё то же — патч.

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