Реліз Chrome 104

Компанія Google представила реліз web-браузера Chrome 104. Одночасно доступний стабільний випуск вільного проекту Chromium, який є основою Chrome. Браузер Chrome відрізняється від Chromium використанням логотипів Google, наявністю системи відправлення повідомлень у разі краху, модулями для відтворення захищеного від копіювання відеоконтенту (DRM), системою автоматичної установки оновлень, постійним включенням Sandbox-ізоляції, постачанням ключів до Google API та передачею при пошуку RL параметрів. Для тих, кому потрібно більше часу на оновлення, окремо підтримується гілка Extended Stable, що супроводжується 8 тижнів. Наступний випуск Chrome 105 заплановано на 30 серпня.

Основні зміни в Chrome 104:

  • Введено граничний час існування Cookie — усі нові або оновлені Cookie будуть автоматично видалятися після 400 днів існування, навіть якщо виставлений через атрибути Expires та Max-Age час старіння перевищує 400 днів (для таких Cookie час життя буде скорочено до 400 днів). Створені до введення обмеження Cookie збережуть час життя, навіть якщо воно перевищує 400 днів, але будуть обмежені у разі оновлення. Зміна відображає нові вимоги, зазначені у чернетці нової специфікації.
  • Увімкнено блокування звернень з iframe до URL, що посилаються на локальну файлову систему (filesystem://).
  • Для прискорення завантаження сторінки додано нову оптимізацію, що забезпечує встановлення з'єднання до цільового хоста в момент натискання на посилання, не чекаючи відпускання кнопки або прибирання пальця з сенсорного екрана.
  • Додано настройки для керування API «Topics & Interest Group», що просувається в рамках ініціативи Privacy Sandbox і дозволяє визначати категорії інтересів користувача та використовувати їх замість відстежуваних Cookie для виділення груп користувачів зі подібними інтересами без ідентифікації окремих користувачів. Крім того, додані інформаційні діалоги, що показуються один раз, пояснюють користувачеві суть технології і пропонують активувати її підтримку в настойках.
  • Збільшено граничні значення для обмеження вкладених викликів таймерів setTimeout та setInterval, запущених із зазначенням інтервалу менше 4 мс («setTimeout(…, <4ms)»). Сумарний ліміт на подібні дзвінки збільшений з 5 до 100, що дозволяє агресивно не урізати одиничні дзвінки, але при цьому не допускати зловживань, здатних вплинути на продуктивність браузера.
  • Увімкнено відправку на сервер основного сайту запиту підтвердження повноважень CORS (Cross-Origin Resource Sharing) із заголовком "Access-Control-Request-Private-Network: true", у разі звернення зі сторінки до субресурсу у внутрішній мережі (192.168.xx, 10). xxx, 172.16-31.xx) або localhost (127.xxx). При підтвердженні операції у відповідь на запит сервер повинен повернути заголовок «Access-Control-Allow-Private-Network: true». У версії Chrome 104 результат підтвердження поки що не впливає на обробку запиту - у разі відсутності підтвердження у веб-консолі відображається попередження, але запит субресурсу не блокується. Увімкнення блокування за відсутності підтвердження від сервера очікується не раніше, ніж у випуску Chrome 107. Для включення блокування в попередніх випусках можна активувати налаштування «chrome://flags/#private-network-access-respect-preflight-results».

    Підтвердження повноважень сервером введено для посилення захисту від атак, пов'язаних із зверненням до ресурсів у локальній мережі або на комп'ютері користувача (localhost) із скриптів, що завантажуються під час відкриття сайту. Подібні запити використовуються зловмисниками для CSRF-атак на маршрутизатори, точки доступу, принтери, корпоративні web-інтерфейси та інші пристрої та сервіси, що приймають запити тільки з локальної мережі. Для захисту від подібних атак у разі звернення до будь-яких субресурсів у внутрішній мережі, браузер надсилатиме явний запит повноваження завантаження цих субресурсів.

  • Додано механізм Region Capture, що дозволяє обрізати зайві вміст із відео, яке формується на основі захоплення екрану. Наприклад, за допомогою API getDisplayMedia веб-додаток може організувати передачу відео з вмістом вкладки, а Region Capture дозволяє вирізати частину вмісту, що включає елементи керування відеоконференцією.
  • Додано підтримку нового специфікації Media Queries Level 4 нового синтаксису медіазапитів, що визначають мінімальний і максимальний розмір видимої області (viewport). Новий синтаксис дозволяє використовувати звичайні математичні оператори порівняння та логічні оператори, такі як "not", "or" і "and". Наприклад, замість "@media (min-width: 400px) {...}" тепер можна вказувати "@media (width> = 400px) {...}".
  • У режимі Origin Trials (експериментальні можливості, що потребують окремої активації), додано кілька нових API. Origin Trial має на увазі можливість роботи із зазначеним API з додатків, завантажених з localhost або 127.0.0.1, або після проходження реєстрації та отримання спеціального токена, який діє обмежений час для конкретного сайту.
    • Додано CSS-властивість "focusgroup" для покращення навігації по елементах за допомогою стрілок управління курсором на клавіатурі.
    • В API Secure Payment Confirmation надано можливість відключення користувачем сховища параметрів кредитних карток. Для виведення діалогу, що дозволяє відмовитися від збереження параметрів кредитних карток, у конструкторі PaymentRequest() передбачений прапор showOptOut: true.
    • Додано API Shared Element Transitions, що дозволяє організувати плавний перехід між різними уявленнями вмісту в односторінкових web-додатках.
  • Стабілізована підтримка спекулятивних правил (Speculation rules), що дозволяють авторам сайтів передати браузеру відомості про найімовірніші сторінки, на які користувач може перейти. Браузер використовує цю інформацію для запобігання завантаженню та відтворенню вмісту сторінок.
  • Стабілізовано механізм упаковки субресурсів у пакети у форматі Web Bundle, що дозволяє збільшити ефективність завантаження великої кількості супутніх файлів (CSS-стилі, JavaScript, зображення, iframe). На відміну від пакетів у форматі Webpack, формат Web Bundle має такі переваги: ​​в HTTP-кеші осідає не сам пакет, а його складові; компіляція та виконання JavaScript починається не чекаючи повного завантаження пакета; допускається включення додаткових ресурсів, таких як CSS та зображення, які у webpack мали кодуватися у формі JavaScript-рядків.
  • Додано CSS-властивість object-view-box, що дозволяє визначити частину зображення, яка буде виведена в області замість заданого елемента, що можна використовувати, наприклад, для додавання обрамлення або тіні.
  • Доданий API Fullscreen Capability Delegation, що дозволяє одному об'єкту Window передати іншому об'єкту Window право виклику requestFullscreen().
  • Доданий API Fullscreen Companion Window, що дозволяє розмістити повноекранний вміст та спливаючі вікна на іншому екрані після отримання підтвердження від користувача.
  • У CSS-властивість overflow-clip-margin доданий атрибут visual-box, що визначає з якого місця слід починати обрізання контенту, що вийшов за кордон області (може приймати значення content-box, padding-box та border-box).
  • В API Async Clipboard додано можливість визначення спеціалізованих форматів для переданих через буфер обміну даних, відмінних від тексту, зображень та тексту з розміткою.
  • WebGL підтримує вказівку колірного простору для буфера малювання та перетворення при імпорті з текстури.
  • Припинено підтримку платформ OS X 10.11 та macOS 10.12.
  • Припинено підтримку API U2F (Cryptotoken), який раніше оголошений застарілим та відключений за замовчуванням. На зміну API U2F прийшов API Web Authentication.
  • Внесено покращення до інструментів для web-розробників. У відладчику додано можливість перезапуску коду з початку функції, після спрацювання точки зупинки десь у тілі функції. Додано підтримку розробки додатків для панелі Recorder. До панелі для аналізу продуктивності додано підтримку візуалізації міток, виставлених у web-додатку через виклик методу performance.measure(). Покращено рекомендації при автодоповненні властивостей об'єктів JavaScript. При доповненні CSS-змінних можливий перегляд значень, не пов'язаних з кольорами.
    Реліз Chrome 104

Окрім нововведень та виправлення помилок у новій версії усунено 27 вразливостей. Багато вразливостей виявлено в результаті автоматизованого тестування інструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer та AFL. Критичних проблем, які дозволяють обійти всі рівні захисту браузера та виконати код у системі за межами sandbox-оточення, не виявлено. У рамках програми з виплати грошової винагороди за виявлення вразливостей для поточного релізу компанія Google виплатила 22 премії на суму 84 тисячі доларів США (одна премія $15000, одна премія $10000, одна премія $8000, одна премія $7000, чотири премії $5000, одна премія $4000 премії $3000, чотири премії $2000 та три премії $1000). Розмір однієї винагороди поки що не визначений.

Джерело: opennet.ru

Додати коментар або відгук