Apple выпустила Safari Technology Preview 47 с исправлениями уязвимости Spectre

Apple обновила Safari Technology Preview, свой браузер для разработчиков с экспериментальными веб-функциями, добавив исправления для уязвимости Spectre, раскрытой в начале этого месяца. Версия 47 доступна в Mac App Store или онлайн для пользователей Safari Technology Preview.

Хотя ее браузер для разработчиков получил обновление сегодня, Apple уже обновила официальную версию Safari в iOS 11, macOS High Sierra, macOS Sierra и macOS El Capitan через обновления программного обеспечения в понедельник.

Safari на iPhone и iPad включает исправления для защиты от Spectre с помощью iOS 11.2.2, в то время как macOS 10.13.2 получило дополнительное обновление для исправления Safari. Apple выпустила обновленные версии своего веб-браузера для macOS Sierra и macOS El Capitan для старых операционных систем.

На прошлой неделе Apple признала, что Safari потребуются дальнейшие обновления для устранения потенциальных проблем, связанных с недавно раскрытыми уязвимостями.

Затронуты все системы Mac и устройства iOS, но на данный момент нет известных эксплойтов, влияющих на клиентов. Поскольку для использования многих из этих проблем требуется загрузка вредоносного приложения на ваш Mac или iOS-устройство, мы рекомендуем загружать программное обеспечение только из надежных источников, таких как App Store.

Apple уже выпустила исправления в iOS 11.2, macOS 10.13.2 и tvOS 11.2 для защиты от Meltdown. Apple Watch не затронуты Meltdown. В ближайшие дни мы планируем выпустить исправления в Safari для защиты от Spectre. Мы продолжаем разрабатывать и тестировать дальнейшие исправления для этих проблем и выпустим их в будущих обновлениях iOS, macOS, tvOS и watchOS.

Вот полные примечания к выпуску Safari Technology Preview 47:

Storage Access API

  • Включены запросы из внешних
  • Реализован доступ к конкретному фрейму в слое document.cookie
  • document.hasStorageAccess() теперь получает текущий статус из сетевого процесса
  • Переработан XPC для удаления доступа, чтобы перейти напрямую от веб-процесса к сетевому процессу
  • Удален запрос confirm() в JavaScript при запросе доступа к хранилищу

Service Workers

  • Добавлена поддержка blob-ответов, передаваемых событиям fetch
  • Отменены ожидающие загрузки скриптов при завершении работы Service Worker
  • Изменен Service Worker для отображения режима перенаправления для загрузок навигации как ручной
  • Изменено извлечение тела типа Blob для установки Content-Type в null вместо пустой строки
  • Изменен режим перенаправления «error» для получения скриптов Service Worker
  • Изменен запрос на получение скрипта Service Worker для установки заголовка Service-Worker
  • Изменен Service Worker, чтобы не очищать HTTP-заголовки, добавленные приложением или спецификацией Fetch, перед перехватом Service Worker
  • Изменено повторное использование Service Worker документа для URL-адресов данных и URL-адресов blob
  • Включены User Timing и Resource Timing для Server Workers
  • Исправлена область действия по умолчанию при регистрации Service Worker
  • Исправлена ситуация, когда Promise регистрации Service Worker иногда не отклоняется при сбое загрузки скрипта
  • Исправлено искажение ответа Service Worker для сохранения его искажения
  • Исправлено scopeURL для начала с предоставленного scriptURL
  • Исправлено self.importScripts() для соблюдения updateViaCache внутри service workers
  • Исправлена обработка Fetch для ожидания активации состояния Service Worker
  • Исправлены SameOrigin и CORS fetch для сбоя при непрозрачных ответах, полученных от Service Worker
  • Исправлено использование кеша памяти для повторного использования ресурсов с разными параметрами запроса
  • Реализована политика реферера по умолчанию для «основного запроса»
  • Предотвращен поиск регистрации Service Worker для загрузок навигации, не связанных с HTTP
  • Поддерживается перехват Service Worker запроса с телом blob

Media

  • Включен режим «картинка в картинке» для встроенного элемента при приостановке
  • Исправлена ошибка отклонения промиса воспроизведения при вызове «pause(); play()» элементами воспроизведения медиа
  • Исправлен пропуск кадров во время воспроизведения Flash-видео
  • Реализован