Реліз Firefox 72

Відбувся реліз веб-браузера Firefox 72, а також мобільної версії Firefox 68.4 для Android платформи. Крім того, сформовано оновлення гілки з тривалим терміном підтримки 68.4.0. Найближчим часом на стадію бета-тестування перейде гілка Firefox 73, реліз якої намічено на 11 лютого (проект перейшов на 4-тижневий цикл розробки).

Основні нововведення:

  • У стандартному режимі блокування небажаного контенту, що застосовується за умовчанням включено захист від відстеження користувачів за допомогою методів прихованої ідентифікації («browser fingerprinting»), що здійснюється по додатковим категоріям у списку Disconnect.me, що включає хости, викриті у використанні скриптів для прихованої ідентифікації. Під прихованою ідентифікацією мається на увазі зберігання ідентифікаторів в областях, не призначених для постійного зберігання інформації ("Supercookies"), а також генерація ідентифікаторів на основі непрямих даних, таких як Роздільна здатність екрану, список підтримуваних MIME-типів, специфічні параметри в заголовках (HTTP / 2 и HTTPS), аналіз встановлених плагінів та шрифтів, доступність певних Web API, специфічні для відеокарт Особливості малювання за допомогою WebGL і Canvas, маніпуляції з CSS, аналіз особливостей роботи з мишею и клавіатурою.
    Реліз Firefox 72

  • Активовано методи боротьби з настирливими запитами на надання сайту додаткових повноважень (Notification.requestPermission(), PushManager.subscribe() та MediaDevices.getDisplayMedia()). Запити підтвердження повноважень тепер не будуть переривати роботу з браузером, а лише почнуть виводити індикатор в адресному рядку після того, як зафіксовано взаємодію користувача зі сторінкою (клік мишею або натискання клавіш). Багато сайтів зловживають можливістю запиту повноважень, що надається в браузерах, головним чином шляхом періодичного виведення запитів на отримання push-повідомлень. Аналіз телеметрії показав, що 97% подібних запитів відхиляються, зокрема у 19% випадках користувач відразу закриває сторінку не натискаючи кнопку згоди чи відхилення.
  • Додана експериментальна підтримка протоколу HTTP/3 (для активації в about:config потрібно встановити опцію "network.http.http3.enabled"). Підтримка HTTP/3 у Firefox заснована на neqo, написаної на мові Rust реалізації клієнта та сервера протоколу QUIC (HTTP/3 стандартизує використання протоколу QUIC як транспорт для HTTP/2).
  • Відповідно до вимог закону CCPA (California Consumer Privacy Act) додано можливість видалення даних телеметрії із серверів Mozilla. Видалення даних здійснюється у разі відмови від збору телеметрії у секції «about:preferences#privacy» (Firefox Data Collection and Use). При знятті прапорця "Allow Firefox to send technical and interaction data to Mozilla", керуючого надсиланням телеметрії, Mozilla зобов'язується протягом 30 днів видалити всі дані, зібрані за час до відмови телеметрії. З даних, які осідають на серверах Mozilla в процесі збору телеметрії відзначається інформація про продуктивність, безпеку Firefox і загальні параметри, таких як кількість відкритих вкладок і тривалість сеансу (відомості про сайти, що відкриваються, і пошукові запити не передаються). Повні відомості про дані, що збираються, можна подивитися на сторінці «about:telemetry».
    Реліз Firefox 72

  • Для Linux і macOS додана можливість перегляду відео в режимі «картинка в картинці» (Picture-in-Picture), що дозволяє від'єднати відео у формі плаваючого вікна, що залишається на очах у процесі навігації в браузері. Для перегляду в даному режимі необхідно натиснути на спливаючу підказку або в контекстному меню, що відображається при кліку на відео правою кнопкою миші, вибрати Picture in picture (у YouTube, який підставляє свій обробник контекстного меню, слід двічі клацнути правою кнопкою миші або клацнути із натиснутою клавішею Shift).

    Реліз Firefox 72

  • При відображенні смуги прокручування задіяний кольору фону поточної сторінки.
  • Вилучена можливість прив'язки відкритих ключів (PKP, Public Key Pinning), що дозволяє за допомогою HTTP-заголовка Public-Key-Pins явно визначити сертифікати яких центрів, що посвідчують, допустимо використовувати для заданого сайту. Як причина називається низька затребуваність цієї функції, ризик проблем із сумісністю (підтримка PKP припинено в Chrome) та можливість заблокувати власний сайт через прив'язку не тих ключів або втрати ключів (наприклад, випадкове видалення або компрометація внаслідок злому).
  • До складу прийняті патчі, що дозволяють в OpenBSD задіяти системні виклики unveil() и pledge() для додаткової ізоляції файлової системи та процесів.
  • Видалено підтримку блокування зображень з окремих доменів. Як причина видалення вказується незатребуваність функції серед користувачів та незручний інтерфейс для блокування.
  • У збірках для Windows реалізована експериментальна можливість використання клієнтських сертифікатів із загального сховища сертифікатів операційної системи (для включення до about:config слід активувати опцію security.osclientcerts.autoload).
  • За промовчанням активовано підтримку CSS Shadow Parts, включаючи атрибут «частина» та псевдоелемент «::part«, що дозволяють вибірково відображати задані елементи з Тіньовий DOM.


    A paragraph

    … у CSS для вибору елементів у прив'язці до атрибуту part:

    custom-element::part(example) {
    border: solid 1px black;
    межа радіусу: 5px;
    оббивка: 5px;
    }

  • Додано підтримку специфікації CSS Motion Path, що дозволяє визначати траєкторію руху об'єктів анімації за допомогою CSS без використання коду JavaScript і без блокування процесу малювання і введення під час показу анімації. Для керування анімацією представлені CSS-властивості
    зсув,
    офсетний шлях,
    offset-anchor,
    зміщення-відстань и
    offset-rotate.

  • За промовчанням включені окремі CSS-властивості трансформації масштаб, обертати и переводити, не прив'язані до властивості трансформувати (тобто в CSS тепер можна вказати "scale: 2;" замість "transform: scale(2);").
  • JavaScript реалізовано логічним оператором об'єднання «??«, який повертає правий операнд, якщо лівий операнд має значення NULL або undefined, і навпаки. Наприклад, «const foo = bar ?? 'default string'» якщо bar дорівнює null поверне стоку або значення bar в іншому випадку, у тому числі коли bar дорівнює 0 і ' ', на відміну від оператора "||".
  • Доданий API FormDataEvent та подія FormData, які дають можливість використовувати обробники JavaScript для додавання даних у форму на етапі її відправки без необхідності зберігати дані в прихованих елементах input.
  • API Geolocation оновлено для відповідності нової специфікації, наприклад, перейменовані Coordinates у GeolocationCoordinates, Position у GeolocationPosition та
    PositionError в GeolocationPositionError.

  • У відладник JavaScript додано підтримка умовних точок зупинки (пункт спостереження), які спрацьовують при зміні чи читанні певних властивостей об'єктів.

    Реліз Firefox 72

  • Прискорено запуск відладчика JavaScript в умовах відкриття дуже великої кількості вкладок (насамперед пріоритет тепер надається видимим вкладкам).
  • У Responsive Design Mode реалізовано симуляцію різних значень meta viewport. У режимі інспектування сторінок додано симулятор значень "prefers-color-scheme".
  • В web-консолі у багаторядковому режимі інтерпретації JavaScript додана підтримка збереження та відкриття файлів за допомогою комбінацій Ctrl+O та Ctrl+S.
  • Додана налаштування javascript.options.asyncstack для візуального поділу асинхронних повідомлень на веб-консолі. При активації налаштування для console.trace() та console.error() виводиться повний стек виклику асинхронних операцій, що дозволяє розібратися у плануванні запуску таймерів, подій, promise, генераторів тощо.

    Реліз Firefox 72

  • У режимі інспектування WebSocket реалізовано розбір та наочне відображення метаданих формату SignalR, що застосовується в повідомленнях ASP.NET Core. Також додані лічильники, що показують сумарний розмір відданих та завантажених даних.
  • У інструменті для моніторингу мережної активності у вкладці Timings окремо відображені дані про час приміщення в чергу для завантаження, початку завантаження та завершення завантаження кожного ресурсу.
  • Із інструментів для web-розробників виключено оточення Блокнот, призначене для експериментів у коді JavaScript (на зміну Scratchpad у минулому випуску прийшов багаторядковий режим роботи web-консолі).

Крім нововведень та виправлення помилок у Firefox 72 усунено 20 вразливостей, з яких 11 (зібрані під CVE-2019-17025 и CVE-2019-17024) позначені як потенційно здатні призвести до виконання коду зловмисника під час відкриття спеціально оформлених сторінок. Нагадаємо, що проблеми з пам'яттю, такі як переповнення буферів і звернення до звільнених областей пам'яті, з недавніх пір позначаються як небезпечні, але не критичні. На особливу увагу також заслуговує проблема CVE-2019-17017 у коді XPCVariant.cpp, яка також потенційно може призвести до виконання коду.

Джерело: opennet.ru

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