Быстрые патчи для iOS и macOS устраняют уязвимость нулевого дня в WebKit

Быстрые патчи для iOS и macOS устраняют уязвимость нулевого дня в WebKit

Быстрые патчи для iOS и macOS устраняют уязвимость нулевого дня в WebKit

Apple выпустила очередной набор быстрых патчей (Rapid Security Response, RSR), которые должны устранить новую уязвимость нулевого дня (0-day). Поскольку злоумышленники уже используют её в атаках на полностью пропатченные iPhone, iPad и macOS-устройства, обновление нужно установить как можно скорее.

Корпорация из Купертино отметила в примечаниях к заплаткам для iOS и macOS следующее:

«Apple в курсе сообщений об эксплуатации уязвимости в реальных кибератаках. Апдейт Rapid Security Response обеспечивает защиту от эксплойта, поэтому рекомендован к установке всем пользователям».

Брешь, о которой идёт речь, получила идентификатор CVE-2023-37450. Информация о ней поступила разработчикам от неназванного исследователя в области кибербезопасности.

Уязвимость затрагивает браузерный движок WebKit и позволяет атакующим выполнить код на целевых устройствах. Для эксплуатации достаточно заставить пользователя открыть веб-страницу с вредоносным контентом.

Apple избавилась от бага, улучшив проверки. Список свежих обновлений выглядит так:

  • macOS Ventura 13.4.1 (a)
  • iOS 16.5.1 (a)
  • iPadOS 16.5.1 (a)
  • Safari 16.5.2

Напомним, в начале мая купертиновцы выпустили первые быстрые патчи для iOS и macOS. Тогда, к сожалению, не обошлось без небольших проблем: при попытке установить апдейт многие пользователи получали сообщение «невозможно проверить подлинность Rapid Security Response, устройство больше не подключено к интернету».

Расширения 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