Новые патчи от Apple закрыли возможность удаленного джейлбрейка iPhone

Новые патчи от Apple закрыли возможность удаленного джейлбрейка iPhone

Новые патчи от Apple закрыли возможность удаленного джейлбрейка iPhone

Компания Apple выпустила очередной набор обновлений безопасности для iOS, macOS, tvOS и watchOS. В числе прочего устранены критические уязвимости в компонентах ядра ОС, позволившие участникам недавнего Tianfu Cup удаленно разлочить iPhone.

Апдейт iOS 15.2 суммарно закрывает 42 уязвимости; половина из них грозят исполнением стороннего кода. Некоторые из этих критичных ошибок были выявлены два месяца назад в ходе соревнования этичных хакеров Tianfu Cup

Как оказалось, продемонстрированные уязвимости ядра мобильной ОС (CVE-2021-30955, CVE-2021-30927 и CVE-2021-30980) актуальны также для macOS, tvOS и watchOS. Согласно описаниям Apple, обнаруженные конкурсантами ошибки — состояние гонки, использование освобожденной памяти — позволяют с помощью вредоносного приложения выполнить в системе любой код с привилегиями ядра. 

Такой же исход возможен при использовании CVE-2021-30983, CVE-2021-30985 или CVE-2021-30991, также найденных одной из китайских команд – участниц Tianfu Cup. Эти ошибки (переполнение буфера, запись и чтение за пределами буфера) появляются при подключении расширения ядра IOMobileFrameBuffer, обеспечивающего доступ к буферу кадров экрана.

Из остальных проблем, затрагивающих iPhone, примечательны CVE-2021-30932 в приложении Notes и CVE-2021-30948 во встроенном Password Manager. Обе позволяют при наличии физического доступа к устройству обойти защиту и получить конфиденциальные данные; в первом случае это список контактов в обход блокировки экрана, во втором — сохраненные пароли в обход аутентификации.

Из новых уязвимостей macOS внимания заслуживает CVE-2021-30938, связанная с работой модуля Wi-Fi. С ее помощью локальный пользователь может вызвать системный сбой и даже получить данные из памяти ядра. Наличие проблемы подтверждено для всех актуальных версий десктопной ОС, в том числе Big Sur и Catalina.

В многострадальном движке WebKit разработчик на сей раз исправил семь различных ошибок. Все они могут проявиться при обработке созданного злоумышленниками веб-контента и грозят исполнением вредоносного кода.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

Правила обработки запросов при этом добавляются динамически, а фильтрация осуществляется по регулярным выражениям, соответствующим подмножествам знаков, которые могут присутствовать на определенных позициях в URL.

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

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