Google heeft de release van webbrowser Chrome 97 aangekondigd. Tegelijkertijd is er een stabiele versie van het open-source project Chromium beschikbaar, dat de basis vormt voor Chrome. De Chrome-browser valt op door het gebruik van Google-logo's, een systeem voor het verzenden van meldingen bij crashes, modules voor het afspelen van kopieerbeveiligde videoinhoud (DRM), een systeem voor automatische updates en het doorgeven van RLZ-parameters bij zoekopdrachten. Voor gebruikers die meer tijd nodig hebben voor updates, is er een aparte Extended Stable-tak beschikbaar, die gedurende 8 weken wordt ondersteund, met een update voor de vorige versie, Chrome 96. De volgende versie, Chrome 98, is gepland voor 1 februari.
Belangrijkste wijzigingen in Chrome 97:
- Voor een deel van de gebruikers is er een nieuwe interface voor het beheren van gegevens die in de browser worden opgeslagen, actief in de configurator ("chrome://settings/content/all"). De belangrijkste eigenschap van de nieuwe interface is de focus op het instellen van bevoegdheden en het gelijktijdig wissen van alle cookies van de website, zonder de mogelijkheid om gedetailleerde informatie over individuele cookies in te zien of selectief cookies te verwijderen. Volgens Google kan toegang tot het beheer van afzonderlijke cookies voor de gemiddelde gebruiker, die niet bekend is met de nuances van webontwikkeling, leiden tot onvoorspelbare storingen op websites als gevolg van ondoordachte wijzigingen in specifieke parameters, evenals tot het per ongeluk uitschakelen van privacybeschermingsmechanismen die via cookies worden geactiveerd. Voor degenen die manipulaties met afzonderlijke cookies nodig hebben, wordt aangeraden de opslagbeheerder te gebruiken in de ontwikkeltools (Application/Storage/Cookie).

- In het informatieblok over de website is er een korte beschrijving van de site beschikbaar (bijvoorbeeld beschrijvingen uit Wikipedia), als in de instellingen de modus voor zoekoptimalisatie en navigatie is geactiveerd (optie "Make searches and browsing better").

- De ondersteuning voor automatisch invullen van velden in webformulieren is verbeterd. De aanbevelingen met opties voor automatisch invullen worden nu met een kleine verschuiving weergegeven en zijn voorzien van informatieve pictogrammen voor een betere preview en om de relatie met het in te vullen veld duidelijker te maken. Bijvoorbeeld, het profielpictogram geeft aan dat de voorgestelde automatische aanvulling betrekking heeft op velden die gerelateerd zijn aan adres- en contactinformatie.

- De geheugenverwijderingen van gebruikersprofielhandlers zijn verzekerd na het sluiten van de bijbehorende browsertabbladen. Voorheen bleven profielen in het geheugen en bleven ze taken uitvoeren die verband hielden met synchronisatie en het uitvoeren van achtergrondscripts van extensies, wat leidde tot onterecht gebruik van middelen op systemen met meerdere actieve profielen (bijvoorbeeld een gastprofiel en een koppelingsaccount met Google). Bovendien is er een grondigere opruiming van gegevens die overblijven tijdens het werken met profielen verzorgd.
- De pagina met instellingen voor zoekmachines ("Instellingen > Zoekmachines beheren") is verbeterd. Automatische activatie van zoekmachines is uitgeschakeld; informatie hierover wordt weergegeven wanneer de site wordt geopend via een OpenSearch-script. Nieuwe zoekmachines voor het verwerken van zoekopdrachten vanuit de adresbalk moeten nu handmatig in de instellingen worden geactiveerd (voorheen automatisch geactiveerde zoekmachines blijven zonder wijzigingen werken).
- Vanaf 17 januari worden er geen extensies met de tweede versie van het Chrome-manifest meer geaccepteerd in de Chrome Web Store, maar ontwikkelaars van eerder toegevoegde extensies kunnen, zoals voorheen, updates publiceren.
- Experimentele ondersteuning voor de WebTransport-specificatie is toegevoegd, die het protocol en de bijbehorende JavaScript-API definieert voor het verzenden en ontvangen van gegevens tussen de browser en server. Het communicatiekanaal wordt georganiseerd bovenop HTTP/3 met gebruik van het QUIC-protocol als transport. WebTransport kan worden gebruikt in plaats van de WebSockets-mechanisme en biedt extra mogelijkheden, zoals het organiseren van gegevensoverdracht in meerdere stromen, unidirectionele stromen, pakketlevering zonder volgorde (out-of-order), betrouwbare en onbetrouwbare leveringsmethoden. Bovendien kan WebTransport worden toegepast in plaats van de Server Push-mechanisme, waarvan Google heeft afgezien in Chrome.
- In de JavaScript-objecten Array en TypedArrays zijn de methoden findLast en findLastIndex toegevoegd, die het mogelijk maken om elementen te zoeken met de uitkomst ten opzichte van het einde van de array. [1,2,3,4].findLast((el) => el % 2 === 0) // ā 4 (laatste even element)
- Gesloten (zonder het attribuut "open") HTML-elementen , zijn nu beschikbaar voor zoekopdrachten en links en worden automatisch geopend bij het gebruiken van de paginazoekfunctie en navigatie door fragmenten (ScrollToTextFragment).
- Beperkingen van de Content Security Policy (CSP) in de antwoordheaders de server zijn nu ook van toepassing op toegewezen workers, die eerder als afzonderlijke documenten werden beschouwd.
- Het is nu expliciet toegestaan om subresources uit het interne netwerk te laden ā voordat toegang wordt verkregen tot het interne netwerk of localhost op de hoofdwebsite, wordt er nu een CORS (Cross-Origin Resource Sharing) verzoek verzonden met de header 'Access-Control-Request-Private-Network: true', waardoor bevestiging van de operatie vereist is via het retourneren van de header 'Access-Control-Allow-Private-Network: true'.
- De CSS-eigenschap font-synthesis is toegevoegd, waarmee de mogelijkheid van de browser om ontbrekende lettertypevarianten (oblique, bold en small-cap) te synthetiseren, kan worden beheerd, die ontbreken in het geselecteerde lettertypefamilie.
- Voor CSS-transformaties is er in de functie perspective() een parameter 'none' geĆÆmplementeerd, die wordt behandeld als een oneindige waarde bij het organiseren van animaties.
- In de HTTP-header Permissions-Policy (Feature Policy), die wordt gebruikt voor het delegeren van bevoegdheden en het inschakelen van geavanceerde functies, is ondersteuning toegevoegd voor de waarde keyboard-map, die het gebruik van de Keyboard API toestaat. De methode Keyboard.getLayoutMap() is geĆÆmplementeerd, waarmee kan worden bepaald welke toets is ingedrukt rekening houdend met verschillende toetsenbordindelingen (bijvoorbeeld, een toets is ingedrukt met de Russische of Engelse indeling).
- De methode HTMLScriptElement.supports() is toegevoegd, die het definiƫren van nieuwe mogelijkheden voor het 'script'-element vereenvoudigt, bijvoorbeeld, je kunt de lijst van ondersteunde waarden voor de 'type'-parameter opvragen.
- Het proces van het normaliseren van nieuwe regels bij het indienen van webformulieren is in overeenstemming gebracht met de browser-engines Gecko en WebKit. De normalisatie van karakters voor nieuwe regel en terugkeer van de karrier (vervanging van /r en /n door \r\n) in Chrome wordt nu uitgevoerd in de eindfase, en niet aan het begin van de verwerking van het indienen van het formulier (d.w.z. tussenliggende handlers die gebruik maken van het FormData-object zien de gegevens zoals toegevoegd door de gebruiker, en niet in genormaliseerde vorm).
- De naamgeving van de eigenschappen voor de API Client Hints, die zich ontwikkelt als vervanging voor de User-Agent header en selectief gegevens over specifieke parameters van de browser en het systeem (versie, platform, etc.) alleen na een verzoek van de server kan leveren, is gestandaardiseerd. De eigenschappen worden nu aangeduid met het prefix 'sec-ch-', bijvoorbeeld sec-ch-dpr, sec-ch-width, sec-ch-viewport-width, sec-ch-device-memory, sec-ch-rtt, sec-ch-downlink en sec-ch-ect.
- De tweede fase van de ondersteuning voor de WebSQL API is geĆÆmplementeerd, waarbij toegang vanuit externe scripts nu wordt geblokkeerd. In de toekomst is het de bedoeling om de ondersteuning voor WebSQL geleidelijk volledig stop te zetten, ongeacht de gebruiksomgeving. De WebSQL-handler is gebaseerd op de SQLite-code en zou door kwaadwillenden kunnen worden gebruikt om kwetsbaarheden in SQLite te exploiteren.
- Voor het Windows-platform is er een build ingeschakeld met controles voor de integriteit van de uitvoeringsstroom (CFG, Control Flow Guard), die pogingen om code in het Chrome-proces in te voeren blokkeert. Bovendien wordt er nu sandbox-isolatie toegepast op netwerkservices die in afzonderlijke processen draaien, waardoor de mogelijkheden van de code in die processen worden beperkt.
- In Chrome voor Android is er een mechanism voor dynamische updates van de logboeken van uitgegeven en ingetrokken certificaten (Certificate Transparency) ingeschakeld, dat eerder was geactiveerd in de desktopversies.
- Er zijn verbeteringen aangebracht aan de tools voor webontwikkelaars. Experimentele ondersteuning voor het synchroniseren van DevTools-instellingen tussen verschillende apparaten is gerealiseerd. Een nieuw Recorder-paneel is toegevoegd waarmee gebruikers acties op de pagina kunnen opnemen, afspelen en analyseren.

Bij het weergeven van fouten in de webconsole worden de gerelateerde kolomnummers die verband houden met het probleem weergegeven, wat handig is voor het debuggen van problemen in geminimaliseerde JavaScript-code. De lijst met apparaten die kunnen worden gesimuleerd voor het beoordelen van de weergave van pagina's op mobiele apparaten is bijgewerkt. In de HTML-blokbewerkingsinterface (Bewerken als HTML) is syntaxisaccentuering toegevoegd en is er de mogelijkheid van autocompletion bij invoer.

Naast nieuwe functies en bugfixes zijn er in de nieuwe versie 37 kwetsbaarheden opgelost. Veel van deze kwetsbaarheden zijn ontdekt tijdens geautomatiseerde tests met behulp van tools zoals AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL. EƩn van de kwetsbaarheden heeft de status van een kritieke probleem gekregen, wat het mogelijk maakt om alle niveaus van browserbescherming te omzeilen en code in het systeem uit te voeren, buiten de sandbox-omgeving. Details over de kritieke kwetsbaarheid (CVE-2022-0096) zijn momenteel niet openbaar, het is alleen bekend dat deze verband houdt met het aanspreken van een al vrijgegeven geheugengebied in de code voor interne opslag (API Storage).
In het kader van het programma voor het uitbetalen van financiƫle beloningen voor het ontdekken van kwetsbaarheden heeft Google voor de huidige release 24 beloningen uitbetaald ter waarde van 54.000 dollar (drie beloningen van $10.000, twee beloningen van $5.000, ƩƩn beloning van $4.000, drie beloningen van $3.000 en ƩƩn beloning van $1.000). De hoogte van 14 beloningen is nog niet vastgesteld.
Bron: opennet.ru





