Wydana została przeglądarka internetowa Firefox 109. Dodatkowo powstała aktualizacja gałęzi wsparcia długoterminowego - 102.7.0. Oddział Firefox 110 wkrótce zostanie przeniesiony do fazy testów beta, których premiera zaplanowana jest na 14 lutego.
Kluczowe innowacje w Firefoksie 109:
- Domyślnie obsługa jest włączona dla wersji XNUMX manifestu Chrome, która definiuje możliwości i zasoby dostępne dla rozszerzeń napisanych przy użyciu interfejsu API WebExtensions. Obsługa drugiej wersji manifestu zostanie utrzymana w dającej się przewidzieć przyszłości. Ponieważ trzecia wersja manifestu znalazła się pod ostrzałem i zepsuje niektóre dodatki blokujące zawartość i zabezpieczające, Mozilla odeszła od zapewniania pełnej zgodności manifestu w przeglądarce Firefox i zaimplementowała niektóre funkcje w inny sposób. Nie zrezygnowano np. z obsługi starego blokowania trybu działania API webRequest, który w przeglądarce Chrome został zastąpiony nowym API do deklaratywnego filtrowania treści.Nieco inaczej realizowana jest także obsługa modelu szczegółowego żądania uprawnień, zgodnie z którym dodatek nie może być aktywowany dla wszystkich stron jednocześnie (usunięto uprawnienie "all_urls"). W Firefoksie ostateczna decyzja o przyznaniu dostępu należy do użytkownika, który może selektywnie decydować, który dodatek przyzna dostęp do jego danych w konkretnej witrynie. Aby zarządzać uprawnieniami, do interfejsu dodano przycisk „Ujednolicone rozszerzenia”, za pomocą którego użytkownik może przyznawać i odbierać dostęp do rozszerzenia w dowolnej witrynie. Zarządzanie uprawnieniami dotyczy tylko dodatków opartych na trzeciej wersji manifestu; w przypadku dodatków opartych na drugiej wersji manifestu nie jest wykonywana szczegółowa kontrola dostępu do witryn.
- Strona Widok przeglądarki Firefox poprawiła wygląd pustych sekcji z ostatnio zamkniętymi kartami i kartami otwartymi na innych urządzeniach.
- Lista ostatnio zamkniętych kart wyświetlana na stronie Widok przeglądarki Firefox zawiera przyciski służące do usuwania poszczególnych linków z listy.
- Dodano możliwość wyświetlenia wpisanego zapytania w pasku adresu, zamiast pokazywać adres URL wyszukiwarki (tzn. klucze są wyświetlane w pasku adresu nie tylko podczas procesu wprowadzania, ale także po wejściu do wyszukiwarki i wyświetleniu wyszukiwania wyniki powiązane z wprowadzonymi kluczami). Ta funkcja jest obecnie domyślnie wyłączona i wymaga ustawienia ustawienia „browser.urlbar.showSearchTerms.featureGate” w about:config, aby ją aktywować.
- Okno umożliwiające wybór daty dla pola z typami „date” i „datetime”, przystosowanymi do sterowania klawiaturowego, co umożliwiło prawidłową obsługę czytników ekranowych oraz korzystanie ze skrótów klawiaturowych do poruszania się po kalendarzu.
- Przeprowadziliśmy eksperyment z wykorzystaniem wbudowanego dodatku Colorways do zmiany wyglądu przeglądarki (do wyboru zaoferowano zbiór motywów kolorystycznych dla obszaru zawartości, paneli i paska przełączania zakładek). Dostęp do wcześniej zapisanych motywów kolorystycznych można uzyskać na stronie „Dodatki i motywy”.
- W systemach z GTK zaimplementowano możliwość jednoczesnego przenoszenia wielu plików do menedżera plików. Ulepszono przenoszenie obrazów z jednej karty na drugą.
- W systemie automatycznego klikania banerów proszących o zgodę na używanie plików Cookies w witrynach (cookiebanners.bannerClicking.enabled i cookiebanners.service.mode w about:config) możliwość dodawania witryn do listy wyjątków, dla których automatyczne klikanie nie jest stosowane, zostało wdrożone.
- Domyślnie ustawienie network.ssl_tokens_cache_use_only_once jest włączone, aby zapobiec ponownemu wykorzystaniu biletów sesji w TLS.
- Włączono ustawienie network.cache.shutdown_purge_in_background_task, które rozwiązuje problem prawidłowego zamykania operacji we/wy plików podczas zamykania.
- Do menu kontekstowego dodatku dodano element („Przypnij do paska narzędzi”) umożliwiający przypięcie przycisku dodatku do paska narzędzi.
- Istnieje możliwość wykorzystania przeglądarki Firefox jako przeglądarki dokumentów, wybranej w systemie poprzez menu kontekstowe „Otwórz za pomocą”.
- Dodano informacje o częstotliwości odświeżania ekranu do strony about:support.
- Dodano ustawienia ui.font.menu, ui.font.icon, ui.font.caption, ui.font.status-bar, ui.font.message-box itp. aby zastąpić czcionki systemowe.
- Domyślnie włączona jest obsługa zdarzenia scrollend, które jest generowane, gdy użytkownik zakończy przewijanie (kiedy pozycja przestanie się zmieniać) w obiektach Element i Dokument.
- Zapewniono partycjonowanie dostępu poprzez interfejs API Storage podczas przetwarzania treści stron trzecich, niezależnie od interfejsu API Storage Access.
- Dodano obsługę atrybutu list do elementu range, który przesyła identyfikator elementu z listą predefiniowanych wartości oferowanych do wprowadzenia.
- Właściwość CSS content-visibility, używana do zapobiegania niepotrzebnemu renderowaniu obszarów poza polem widoczności, została teraz zaktualizowana o wartość „auto”. Po ustawieniu widoczność jest określana przez przeglądarkę na podstawie bliskości elementu do granicy widoczny obszar.
- W typie CSS , który definiuje domyślne wartości kolorów dla różnych komponentów strony i dodał obsługę wartości Mark, MarkText i ButtonBorder.
- Web Auth dodaje możliwość uwierzytelniania przy użyciu protokołu CTAP2 (Client to Authenticator Protocol) przy użyciu tokenów USB HID. Obsługa nie jest jeszcze domyślnie włączona i jest włączana przez parametr security.webauthn.ctap2 w about:config.
- W narzędziach programistycznych WWW w debugerze JavaScript dodano nową opcję punktu przerwania, która jest wyzwalana podczas przejścia do obsługi zdarzenia scrollend.
- Do protokołu zdalnego sterowania przeglądarki WebDriver BiDi dodano obsługę poleceń „session.subscribe” i „session.unsubscribe”.
- Kompilacje dla platformy Windows obejmują wykorzystanie mechanizmu ochrony sprzętu ACG (Arbitrary Code Guard) w celu blokowania wykorzystania luk w procesach odtwarzających treści multimedialne.
- Na platformie macOS zmieniono działanie kombinacji Ctrl/Cmd + gładzik lub Ctrl/Cmd + kółko myszy, które teraz prowadzi do przewijania (tak jak w innych przeglądarkach), a nie do powiększania.
- Ulepszenia w wersji na Androida:
- Podczas oglądania wideo na pełnym ekranie wyświetlanie paska adresu podczas przewijania jest wyłączone.
- Dodano przycisk umożliwiający anulowanie zmian po usunięciu przypiętej witryny.
- Lista wyszukiwarek jest aktualizowana po zmianie języka.
- Naprawiono awarię występującą podczas umieszczania dużego fragmentu danych w schowku lub pasku adresu.
- Poprawiona wydajność renderowania elementów płótna.
- Rozwiązano problem z rozmowami wideo, w których można używać wyłącznie kodeka H.264.
Oprócz innowacji i poprawek błędów, Firefox 109 naprawił 21 luk. 15 luk oznaczono jako niebezpieczne, z czego 13 (zebranych pod CVE-2023-23605 i CVE-2023-23606) jest spowodowanych problemami z pamięcią, takimi jak przepełnienie bufora i dostęp do już zwolnionych obszarów pamięci. Potencjalnie problemy te mogą prowadzić do wykonania kodu przez osobę atakującą podczas otwierania specjalnie zaprojektowanych stron. Luka CVE-2023-23597 jest spowodowana błędem logicznym w kodzie tworzenia nowych procesów potomnych i umożliwia uruchomienie nowego procesu w kontekście file:// w celu odczytania zawartości dowolnych plików. Luka CVE-2023-23598 spowodowana jest błędem w obsłudze akcji przeciągnij i upuść w środowisku GTK i umożliwia odczytanie zawartości dowolnych plików poprzez wywołanie DataTransfer.setData.
Źródło: opennet.ru