Обнаружена root-уязвимость в реализации сокетов AF_PACKET в ядре Linux

Обнаружена root-уязвимость в реализации сокетов AF_PACKET в ядре Linux

Обнаружена root-уязвимость в реализации сокетов AF_PACKET в ядре Linux

Исследователи безопасности из группы Zero, созданной компанией Google для предотвращения атак, совершаемых с использованием ранее неизвестных уязвимостей, опубликовали технику эксплуатации уязвимости (CVE-2017-7308) в ядре Linux.

Она позволяет поднять свои привилегии в системе через передачу специально оформленных параметров при манипуляции с RAW-сокетами AF_PACKET.

Уязвимость проявляется в ядрах до 4.10.6 при включении сокетов AF_PACKET с поддержкой кольцевых буферов TPACKET_V3 ( "CONFIG_PACKET=y", в большинстве дистрибутивов включены по умолчанию). Проблема была выявлена в результате fuzzing-тестирования системных вызовов ядра Linux. Опубликован прототип эксплоита, работоспособного в Ubuntu 16.04.2 с ядром 4.8.0-41-generic с включенными механизмами защиты KASLR, SMEP и SMAP, пишет opennet.ru.

Уязвимость вызвана целочисленным переполнением в функции packet_set_ring() для сокетов AF_PACKET. Примечательно, что это вторая уязвимость в packet_set_ring() за последнее время, похожая проблема (CVE-2016-8655) была выявлена в конце прошлого года. Для атаки злоумышленник должен иметь полномочия CAP_NET_RAW, которые необходимы для создания сокетов AF_PACKET. В Ubuntu и Fedora данные полномочия можно получить через использование пространств имён идентификаторов пользователей (user namespace), которые включёны по умолчанию.

В Ubuntu и Fedora проблема была устранена в апрельском обновлении пакетов с ядром. Для SUSE 12 и openSUSE исправление было выпущено несколько дней назад. Red Hat Enterprise Linux 5/6 и SUSE 11, проблеме не подвержены, а в RHEL 7 и Debian для эксплуатации требуется явное предоставление полномочий CAP_NET_RAW. В Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость. 

Android 16 научился показывать, кто именно следит за вашей геолокацией

Google неожиданно вернула одну из старых, но полезных функций по части конфиденциальности в Android 16 QPR3 Beta 1. Речь идёт о более удобном индикаторе геолокации в строке состояния — его уже тестировали ещё во времена Android 13, но тогда до релиза дело так и не дошло.

Теперь индикатор снова с нами. Если какое-то приложение получает доступ к вашему местоположению, в статус-баре появляется значок с синим фоном.

Самое важное — по нему можно нажать. После этого открывается специальный диалог, где прямо указано, какие именно приложения в данный момент используют геолокацию.

 

 

До сих пор Android работал странно: система показывала, что геолокация используется, но не объясняла кем. Диалог назывался «Микрофон, камера и местоположение», однако конкретные приложения отображались только для камеры и микрофона — отслеживание местоположения оставалось «анонимным». В итоге пользователь видел значок, но не понимал, кто именно за ним стоит.

В Android 16 QPR3 эту логику наконец-то довели до ума. Теперь диалог приватности честно перечисляет приложения, которые запрашивают координаты. Если одновременно используются несколько разрешений, система переключается на привычный зелёный индикатор — так же, как для камеры и микрофона.

Интересно, что Google уже пробовала внедрить такую механику в Android 13, но тогда она так и осталась экспериментом. Почему функцию убрали и почему решили вернуть только сейчас — официально не объясняется.

Обновление вышло сегодня и доступно в Android 16 QPR3 Beta 1 для смартфонов Pixel на базе чипов Tensor. Помимо индикатора геолокации, в сборке есть и ожидаемые мелочи — например, регулировка яркости фонарика и настройка порядка кнопок навигации.

Функция не выглядит революционной, но с точки зрения приватности это как раз тот случай, когда маленькое улучшение сильно повышает прозрачность. Теперь Android не просто намекает, что «кто-то следит», а прямо показывает — кто именно.

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