Google heeft een release van de webbrowser Chrome 122 gepubliceerd. Tegelijkertijd is er een stabiele versie van het vrije project Chromium beschikbaar, dat als basis voor Chrome dient. De Chrome-browser verschilt van Chromium door het gebruik van Google-logo's, het hebben van een systeem voor het verzenden van meldingen bij crashes, modules voor het afspelen van auteursrechtelijk beschermd videomateriaal (DRM), een systeem voor automatische updates, permanente inschakeling van Sandbox-isolatie, levering van sleutels voor de Google API en het verzenden van RLZ-parameters tijdens zoekopdrachten. Voor degenen die meer tijd nodig hebben voor updates, wordt de Extended Stable-tak apart ondersteund, die 8 weken wordt vergezeld. De volgende release van Chrome 123 is gepland voor 19 maart.
Belangrijkste wijzigingen in Chrome 122:
- In overeenstemming met de eisen van de Europese wet DMA (Digital Markets Act) is er een scherm voor het kiezen van de zoekmachine toegevoegd aan de browser, die standaard zal worden gebruikt. Beschikbare zoekmachines kunnen worden gekozen in het gedeelte "chrome://settings/search". De zoekmachines in de lijst worden in willekeurige volgorde weergegeven.

- Op de pagina "chrome://settings/security" is een instelling toegevoegd waarmee de JIT-optimalisaties in de JavaScript-engine V8 kunnen worden uitgeschakeld. Het uitschakelen van JIT kan nuttig zijn om de veiligheid bij het werken met mogelijk gevaarlijke webapplicaties te verhogen door het aantal mogelijke aanvalsvectoren te verminderen.

- In de Android-versie is de functie voor het voorlezen van teksten op webpagina's toegevoegd. De leesmodus kan worden ingeschakeld via het dropdownmenu en kan worden beheerd met behulp van standaard afspeelknoppen. Deze functie maakt gebruik van een externe service en verzendt een link naar servers Google, die spraaksynthese uitvoeren.
- De test van experimentele mogelijkheden die machine learning gebruiken, zoals de slimme tabbladengroepering, de thema-generator en de interactieve assistent, gaat door, zoals aangekondigd in de release van Chrome 121.
- In de browserbeveiligingsmodus (Safe Browsing) is ondersteuning geïmplementeerd voor asynchroon uitgevoerde externe controles die de laadtijd van de gecontroleerde pagina niet blokkeren. Controle op lokale lijsten blijft echter synchroon en de pagina wordt niet weergegeven totdat deze controles zijn voltooid, om de gebruiker te beschermen tegen het gebruik van pagina's met exploits. Wat betreft phishing is het onwaarschijnlijk dat de gebruiker kan reageren op de pagina voordat de externe controle is voltooid en de waarschuwing wordt weergegeven.
- De tekst van de waarschuwingen, die worden weergegeven bij het proberen te downloaden van schadelijke bestanden en voor al eerder gedownloade bestanden in de downloadmanager, is herzien.

- De geleidelijke overgang naar het negeren van 'unload' gebeurtenishandlers is begonnen, die het effectieve gebruik van de terug-voorwaarts cache (BFCache) belemmeren, welke een directe overgang mogelijk maakt bij het gebruik van de knoppen 'Terug' en 'Vooruit' of bij de navigatie door eerder bezochte pagina's van de huidige site. Het gedrag van desktop Chrome zal meer in overeenstemming zijn met mobiele browsers, die in de meeste gevallen geen 'unload' gebeurtenis genereren, waarbij de nadruk ligt op de caching van overgangen. In Chrome 122 is de verwerking van de 'unload' gebeurtenis uitgeschakeld voor 1% van de gebruikers.
- In het systeem voor het automatisch invullen van betalingsparameters is de mogelijkheid toegevoegd om verificatiecodes (CVV/CVC) voor lokale en serverkaarten op te slaan. De codes worden opgeslagen na het weergeven van een waarschuwing en de uitdrukkelijke toestemming van de gebruiker.
- De API Storage Buckets is toegevoegd, die extra mogelijkheden biedt voor het beheren van permanente gegevensopslag op het lokale systeem van de gebruiker. De nieuwe API maakt het mogelijk om gegevens op te slaan door de opslag in afzonderlijke segmenten te splitsen, die zijn geassocieerd met de API IndexedDB en CacheStorage. Segmenten worden onafhankelijk van elkaar door de browser verwijderd, en de gebruiker krijgt de mogelijkheid om prioriteiten te stellen die bepalen welke segmenten als eerste moeten worden verwijderd. Deze organisatie maakt het mogelijk om belangrijke gegevens op te slaan in segmenten met hoge prioriteit, terwijl secundaire gegevens, die niet erg erg zijn om te verliezen, in segmenten met lage prioriteit worden opgeslagen. Zo wordt het probleem van het verlies van belangrijke gegevens opgelost in het geval van het bereiken van de beschikbare limieten voor de opslagcapaciteit die wordt aangeboden via de API IndexedDB en localStorage.
- In de API Async Clipboard is een optie «unsanitized» toegevoegd aan de methode read(), die wordt toegepast bij het kopiëren van gegevens uit het klembord en het plakken ervan. Met deze optie krijgt de applicatie de ongewijzigde HTML-inhoud van de gegevens uit het klembord, zonder enige sanering, normalisatie of vervanging van gevaarlijke constructies (bijvoorbeeld, de inhoud van het «»-element wordt niet omgezet).
- CSS-vragen «@container» worden nu niet geactiveerd als er niet-ondersteunde mogelijkheden worden opgegeven; bijvoorbeeld, de vraag «@container (width > 0px) or (unknown) {}» zal niet worden geactiveerd vanwege de uitdrukking «unknown».
- In CSS is het toegestaan om voorwaarden te definiëren in «@import … supports(…)» importregels. Als de controle niet slaagt, wordt de import niet uitgevoerd. Bijvoorbeeld, om stijlen te laden als «animation-timeline» is ingesteld op «auto», kan men ‘scroll-driven-animations.css’ opgeven met ‘@import «scroll-driven-animations.css» supports(animation-timeline: auto);’.
- In CSS is de logica voor het verwerken van de pseudo-element «::backdrop» aangepast en is deze nu in overeenstemming met de bijgewerkte specificatie, waardoor deze wordt overgenomen van het oorspronkelijke element (voorheen erfde «::backdrop» geen waarden van andere elementen, waardoor toegang tot eigenschappen die in het root-element zijn gedefinieerd niet mogelijk was).
- De werking van de methode dataTransfer.clearData() is beperkt tot tekstobjecten, dus deze methode kan niet meer op File-objecten worden toegepast.
- In WebGL is de functie drawingBufferStorage toegevoegd, waarmee de pixelindeling voor de tekenbuffer kan worden ingesteld, wat het mogelijk maakt om rechtstreeks inhoud met meer dan 8 bits per kleurkanaal weer te geven en onnodige kopiërhandelingen te vermijden die vereist waren voor omzetting naar het standaard pixelformaat.
- Er zijn verbeteringen aangebracht in de tools voor webontwikkelaars. Ondersteuning is toegevoegd voor het wijzigen van het kleurenschema en het volgen van de stijl die is ingesteld in het gekozen thema van de browser.

De mogelijkheden van het paneel voor prestatieanalyse zijn uitgebreid, waarbij op de tijdlijn ondersteuning voor het opslaan van tijdsintervallen (segmenten op de tijdlijn) is toegevoegd en de mogelijkheid om tussen deze segmenten te schakelen.
In de hoofdsectie (Performance > Main) is een weergave toegevoegd van de initiatiefnemers van gebeurtenissen en hun visuele verbinding met de evenementen die zij veroorzaken.

In het netwerkactiviteitsanalysepaneel wordt in de kolom met de status van verzoeken de oorzaken van mislukte verzoeken weergegeven. Het contextmenu voor het kopiëren van links of de inhoud van verzoeken is herzien.

Naast de nieuwe functies en bugfixes zijn in de nieuwe versie 12 kwetsbaarheden verholpen. Veel van de kwetsbaarheden zijn ontdekt door geautomatiseerd testen met tools zoals AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL. Er zijn geen kritieke problemen gevonden die alle beschermingsniveaus van de browser kunnen omzeilen of code buiten de sandbox-omgeving kunnen uitvoeren. In het kader van het beloningsprogramma voor het ontdekken van kwetsbaarheden heeft Google voor deze release 8 premies uitbetaald ter waarde van 28.000 dollar (één premie van $8000, $7000, $5000, $3000 en $2000, en drie premies van $1000). De grootste beloningen zijn toegekend voor een fout in de implementatie van site-isolatie, het ontdekken van een bufferoverloop in de Blink-engine en voor het toegang krijgen tot al vrijgegeven geheugen (Use-after-free) in de Mojo-bibliotheek.
Bron: opennet.ru






