Google heeft de release van de webbrowser Chrome 136 gepubliceerd. Gelijktijdig is er een stabiele versie van het vrije project Chromium beschikbaar, dat de basis vormt voor Chrome. De browser Chrome verschilt van Chromium door het gebruik van Google-logo's, een systeem voor het verzenden van meldingen in geval van een crash, modules voor het afspelen van kopieerbeveiligde videoinhoud (DRM), een systeem voor automatische updates, constante inschakeling van Sandbox-isolatie, levering van sleutels aan de Google API en doorgeven van RLZ-parameters bij het zoeken. Voor degenen die meer tijd nodig hebben om bij te werken, is er een aparte Extended Stable-tak die gedurende 8 weken wordt ondersteund. De volgende release van Chrome 137 is gepland voor 27 mei.
Belangrijkste wijzigingen in Chrome 136:
- Er is bescherming toegevoegd tegen het lekken van informatie over eerder bezochte pagina's, ontstaan door het gebruik van de CSS-pseudoklasse ':visited', die de opmaak van eerder geopende links mogelijk maakt. Tot versie Chrome 136 leidde een klik op een link tot een wijziging in de opmaak van die link op alle websites die die link toonden, ongeacht vanaf welke site de klik was geïnitialiseerd. Op zijn website kon de aanvaller bepalen of de gebruiker eerder de relevante links had geopend door de wijziging in de opmaak van deze links te analyseren. Bijvoorbeeld, als er een lijst met links naar verschillende pagina's wordt gemaakt, dan zullen eerder bezochte pagina's in deze lijst door de browser met een andere kleur worden gemarkeerd, waarop kan worden geconcludeerd of de links eerder zijn geopend.
Om informatie over bezochte links in Chrome te blokkeren, is isolatie van de verwerking van de selector ':visited' in verband met de bezochte site geïmplementeerd, dat wil zeggen dat elementen nu alleen met behulp van ':visited' worden gestyled als ze eerder zijn geopend vanaf de huidige site en in verband met de huidige iframe. De isolatie is geïmplementeerd via hashing van de stijl van bezochte links met drie componenten als sleutel: de link, de bovenliggende site en de host die in de iframe wordt gebruikt.

Bijvoorbeeld, als er een klik op een link vanaf website 'A' is geweest, zal deze link vanaf nu alleen op website 'A' worden gemarkeerd en blijft deze ongewijzigd op de aanvallersite. Een uitzondering is gemaakt voor iframe's die vanaf de hoofdwebsite (same-origin) worden geladen, en links naar de huidige website. Bij het openen van website 'A' zullen de links die naar website 'A' leiden gemarkeerd zijn, zelfs als de klikken vanaf een andere website kwamen, maar andere links worden alleen gemarkeerd als de klikken vanaf website 'A' waren.


In Firefox werd de bescherming tegen dergelijke lekken toegevoegd in 2010, maar er waren methoden om dit te omzeilen. Bijvoorbeeld, in 2024 werd in Firefox 122 de mogelijkheid om de kleur van pixels te analyseren met filters die de currentColor parameter gebruikten, en manipulaties met het canvas-tag in SVG, verwijderd.
- In de Android-versie is de overdracht naar servers Google telemetrie met gegevens over APK-pakketten die via de browser zijn gedownload. Momenteel is de functionaliteit beperkt tot het verzenden van telemetrie, maar in de toekomst zal het worden gebruikt voor het geven van waarschuwingen en het blokkeren van de download van schadelijke APK-bestanden. De controle wordt alleen uitgevoerd wanneer de geavanceerde beschermingsmodus (Safe Browsing > Enhanced protection) in de instellingen is ingeschakeld.
- Voor externe debugging is nu een aparte map met gegevens vereist, die wordt opgegeven bij het starten met de parameter '--user-data-dir', die samen met de parameters '--remote-debugging-pipe' of '--remote-debugging-port' moet worden opgegeven. Bij het gebruik van de standaardmap in Windows, Linux en macOS werkt externe debugging niet meer. De reden voor deze wijziging is om kwaadaardige software tegen te gaan die externe debugging gebruikt om gegevens uit Google Chrome te extraheren. Bij het gebruik van een aparte map wordt een andere versleutelingssleutel toegepast, waardoor toegang tot de werkgegevens van de gebruiker in de hoofdmap niet mogelijk is. Deze wijziging geldt alleen voor Chrome en niet voor Chromium.
- De opmaak van schuifbalken is gemoderniseerd op de platforms Linux en Windows. Bij inactiviteit wordt de schuifbalk verborgen en verschijnt deze alleen weer wanneer de pagina weer wordt verplaatst. Voor het beheren van de nieuwe opmaak van de schuifbalken zijn de instellingen chrome://flags#fluent-overlay-scrollbars en chrome://flags#fluent-scrollbars voorgesteld.


- In de CSS-functie attr() is het argument van het type 'string' hernoemd naar 'raw-string', in overeenstemming met de beslissing van de werkgroep die de ontwikkeling van CSS-specificaties coördineert. De wijziging is bedoeld om verwarring te voorkomen door de gelijkenis van de uitdrukkingen 'attr(foo type(<string>))' en 'attr(foo string)'.
- In de ProgressEvent API, die wordt gebruikt voor het creëren van voortgangsaanduidingen, is in de attributen 'loaded' en 'total' in plaats van het type 'unsigned long long' het type 'double' gebruikt, wat overeenkomt met het gedrag van het HTML-element <progress> en het mogelijk maakt om geleidelijke veranderingen van niet-gehele waarden weer te geven op de voortgangsaanduiding, bijvoorbeeld bij veranderingen van een waarde van 0 naar 1.
- Voor het escapen van strings die binnen reguliere expressies worden gebruikt, is de statische methode 'RegExp.escape' voorgesteld. Strings die zijn geescaped met RegExp.escape kunnen veilig worden gebruikt als sjabloon in de constructor RegExp().
- De website is toegestaan om automatisch Passkey-sleutels te genereren op basis van reeds opgeslagen inloggegevens voor deze website. Het aanmaken van een Passkey gebeurt zonder het weergeven van een apart modaal dialoogvenster, als de gebruiker eerder al toestemming heeft gegeven voor het creëren van inloggegevens voor de website.
- De CSS-eigenschap dynamic-range-limit is toegevoegd om de maximale helderheid van HDR-content te beperken.
- In de API Speculation Rules (<script type='speculationrules'>) die wordt gebruikt voor het instellen van het voorspellend laden van middelen, is het toegestaan om een optioneel veld 'tag' op te geven om de bron bij te houden. De inhoud van dit veld zal worden verzonden via de HTTP-header Sec-Speculation-Tags.
- In WebRTC en de MediaRecorder API is ondersteuning voor de codec H265 (HEVC) toegevoegd naast de eerder ondersteunde VP8, H.264, VP9 en AV1.
- In de ontwikkelaarstools is de functionaliteit van het paneel voor prestatie-analyse uitgebreid. Rapporten over verzoeken met behulp van het oude HTTP/1.1 protocol, cacheprestaties en optimalisatie met de eigenschap font-display zijn toegevoegd. Op de pagina 'Privacy en beveiliging > Privacy > Derdencookies' is de mogelijkheid toegevoegd om individuele cookies te doorzoeken. Er is een experimentele functie toegevoegd om hints over problemen met elementen en attributen in de DOM weer te geven.

Naast de nieuwe functies en bugfixes zijn er in de nieuwe versie 8 kwetsbaarheden opgelost. Veel van deze 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 beveiligingslagen van de browser zouden kunnen omzeilen en code buiten de sandbox-omgeving zouden kunnen uitvoeren. In het kader van het beloningsprogramma voor het ontdekken van kwetsbaarheden heeft Google voor deze release 4 beloningen uitbetaald ter waarde van 10.000 dollar (één beloning van $5000, twee van $2000 en één van $1000).
Bron: opennet.ru






