Google har lansert versjon 104 av nettleseren Chrome. Samtidig er den stabile versjonen av det åpne prosjektet Chromium tilgjengelig, som fungerer som grunnlaget for Chrome. Nettleseren Chrome skiller seg fra Chromium ved å bruke Googles logoer, ha et system for å sende varsler ved krasj, moduler for avspilling av kopibeskyttet videoinnhold (DRM), et system for automatisk oppdatering, kontinuerlig aktivert Sandbox-isolering, leveranse av nøkler til Google API og overføring av RLZ-parametere ved søk. For de som trenger mer tid til oppdatering, støttes det en egen Extended Stable-gren i 8 uker. Neste utgivelse av Chrome 105 er planlagt til 30. august.
Hovedendringer i Chrome 104:
- Det er innført en grense for levetid på informasjonskapsler (Cookies) – alle nye eller oppdaterte informasjonskapsler vil automatisk bli slettet etter 400 dager, selv om utløpstiden som er angitt med Expires- og Max-Age-attributter overstiger 400 dager (for slike informasjonskapsler vil levetiden bli redusert til 400 dager). Informasjonskapsler opprettet før innføringen av begrensningen vil beholde sin levetid, selv om den overstiger 400 dager, men vil være begrenset ved oppdatering. Endringen gjenspeiler nye krav som er angitt i utkastet til den nye spesifikasjonen.
- Det er lagt til blokkering av forespørsel fra iframe til URL-er som henviser til det lokale filsystemet (“filesystem://”).
- En ny optimalisering for raskere lasting av siden er lagt til, som sørger for at tilkoblingen til målverten opprettes i det øyeblikket lenken trykkes, uten å vente på å slippe knappen eller fjerne fingeren fra pekeskjermen.
- Innstillinger for å administrere API-et "Topics & Interest Group" har blitt lagt til, som fremmes innen rammen av initiativet Privacy Sandbox og lar definere brukerens interessekategorier og bruke dem i stedet for sporingsinformasjon (Cookies) for å identifisere grupper av brukere med lignende interesser uten identifisering av enkeltbrukere. I tillegg er det lagt til engangs informasjonsdialoger som forklarer brukeren essensen av teknologien og tilbyr å aktivere støtte for den i innstillinger.
- Terskelverdiene for begrensning av innebygde setTimeout- og setInterval-anrop med intervaller på mindre enn 4 ms ("setTimeout(…, <4ms)") er økt. Den totale grensen for slike anrop er økt fra 5 til 100, noe som gjør at enkeltanrop kan tillates mer aggressivt uten å kutte ned, samtidig som det forhindrer misbruk som kan påvirke nettleserytelsen.
- Sending av en CORS (Cross-Origin Resource Sharing) bekreftelsesforespørsel til hovednettstedserveren er aktivert med headeren "Access-Control-Request-Private-Network: true" når man henvender seg fra en side til en underressurs i et internt nettverk (192.168.x.x, 10.x.x.x, 172.16-31.x.x) eller til localhost (127.x.x.x). Når operasjonen er bekreftet, må serveren returnere headeren "Access-Control-Allow-Private-Network: true" som svar på denne forespørselen. I Chrome 104 påvirker ikke bekreftelsesresultatet håndteringen av forespørselen — hvis det ikke er bekreftelse, vises det en advarsel i web-konsollen, men forespørselen til underressursen blokkeres ikke. Implementeringen av blokkering uten bekreftelse forventes ikke før Chrome 107. serveren For å aktivere blokkering i tidligere versjoner kan man aktivere innstillingen "chrome://flags/#private-network-access-respect-preflight-results".
Bekreftelse av rettigheter serveren innført for å styrke beskyttelsen mot angrep knyttet til tilgang til ressurser i lokalnettverket eller på brukers datamaskin (localhost) fra skript som lastes inn ved åpning av nettstedet. Slike forespørsler brukes av ondsinnede aktører for å gjennomføre CSRF-angrep på rutere, tilgangspunkter, skrivere, bedrifts web-grensesnitt og andre enheter og tjenester som kun aksepterer forespørsel fra det lokale nettverket. For å beskytte mot slike angrep, vil nettleseren sende en eksplisitt forespørsel om autorisasjon for å laste inn eventuelle delressurser i det interne nettverket.
- Region Capture-mekanismen er lagt til, som gjør det mulig å beskjære uønsket innhold fra videoer som genereres gjennom skjermopptak. For eksempel kan et web-program organisere videostrømning med innholdet fra fanen ved hjelp av API-en getDisplayMedia, og Region Capture gjør det mulig å kutte bort deler av innholdet som inkluderer videokonferanseelementer.
- Støtten for en ny syntaks for mediespørringer, som er definert i spesifikasjonen Media Queries Level 4, er lagt til. Den nye syntaksen tillater bruk av vanlige matematiske sammenligningsteknikker og logiske operatorer som "not", "or" og "and". For eksempel kan man nå skrive "@media (width >= 400px) { … }" i stedet for "@media (min-width: 400px) { … }".
- I Origin Trials-modus (eksperimentelle funksjoner som krever separat aktivering) er flere nye API-er lagt til. Origin Trial betyr muligheten til å jobbe med den spesifiserte API-en fra applikasjoner lastet inn fra localhost eller 127.0.0.1, eller etter registrering og mottak av et spesialtoken som er gyldig i en begrenset periode for et spesifikt nettsted.
- CSS-egenskapen "focusgroup" er lagt til for å forbedre navigasjonen mellom elementer ved hjelp av piltastene på tastaturet.
- I API Secure Payment Confirmation gir brukeren muligheten til å slå av lagring av kredittkortdetaljer. For å vise en dialog som lar brukeren velge bort lagringen av kredittkortdetaljer, er det en flagg «showOptOut: true» i PaymentRequest()-konstruktøren.
- API Shared Element Transitions er lagt til, som muliggjør jevne overganger mellom forskjellige visninger av innhold i enspors webapplikasjoner.
- Støtten for spekulative regler (Speculation rules) er stabilisert, som lar nettstedforfattere gi nettleseren informasjon om hvilke sider brukeren mest sannsynlig vil besøke. Nettleseren bruker denne informasjonen til å forhåndsinnlaste og gjengi innholdet på sidene.
- Mekanismen for pakking av subressurser i Web Bundle-format er stabilisert, noe som øker effektiviteten ved innlasting av et stort antall tilknyttede filer (CSS-stiler, JavaScript, bilder, iframe). I motsetning til pakker i Webpack-format, har Web Bundle-formatet følgende fordeler: det er ikke selve pakken som går til HTTP-cachen, men dens komponenter; kompileringen og kjøringen av JavaScript starter ikke før hele pakken er lastet ned; det tillates inkludering av ekstra ressurser, som CSS og bilder, som i webpack måtte kodes i form av JavaScript-strenger.
- CSS-egenskapen object-view-box er lagt til, som lar deg bestemme hvilken del av et bilde som skal vises i området i stedet for det angitte elementet, noe som kan brukes til for eksempel å legge til ramme eller skygge.
- API Fullscreen Capability Delegation er lagt til, som lar ett Window-objekt overføre retten til å kalle requestFullscreen() til et annet Window-objekt.
- API Fullscreen Companion Window er lagt til, som lar fullt skjermet innhold og pop-up-vinduer plasseres på en annen skjerm etter bekreftelse fra brukeren.
- I CSS-egenskapen overflow-clip-margin er attributtet visual-box lagt til, som definerer hvor utskjæringen av innhold som går utenfor grensen til området skal begynne (kan ta verdiene content-box, padding-box og border-box).
- I API Async Clipboard er muligheten for å definere spesialiserte formater for data som overføres via utklippstavlen, som skiller seg fra tekst, bilder og tekst med markup, lagt til.
- WebGL har støtte for å spesifisere fargeområdet for tegnebuffer og konvertering ved import fra tekstur.
- Støtten for plattformene OS X 10.11 og macOS 10.12 er avsluttet.
- Støtten for API U2F (Cryptotoken), som tidligere ble erklært foreldet og deaktiveres som standard, er avsluttet. API Web Authentication har kommet i stedet for API U2F.
- Det er gjort forbedringer i verktøyene for webutviklere. I debuggeren er det lagt til mulighet for å starte koden på nytt fra starten av funksjonen, etter at et stoppunkt har blitt utløst et sted i funksjonskroppen. Støtte for utvikling av tillegg til Recorder-panelet er lagt til. I panelet for ytelsesanalyse er det lagt til støtte for visualisering av målinger satt i webapplikasjonen via kallet til metoden performance.measure(). Forbedrede anbefalinger under autocompleting av JavaScript-objektegenskaper. Under autocompleting av CSS-variabler er forhåndsvisning av verdier, som ikke er relatert til farger, blitt sikret.

I tillegg til nyheter og feilrettinger har den nye versjonen lukket 27 sårbarheter. Mange av sårbarhetene ble oppdaget ved hjelp av automatiserte tester med verktøy som AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Kriterier i alvorlige problemer som tillater omgåelse av alle beskyttelseslagene i nettleseren og kjøring av kode i systemet utenfor sandkassen er ikke oppdaget. Som en del av programmet med belønning for oppdagede sårbarheter har Google utbetalt 22 premier på totalt 84 000 USD (én premie på 15 000 USD, én premie på 10 000 USD, én premie på 8 000 USD, én premie på 7 000 USD, fire premier på 5 000 USD, én premie på 4 000 USD, tre premier på 3 000 USD, fire premier på 2 000 USD og tre premier på 1 000 USD). Størrelsen på én premie er ennå ikke bestemt.
Kilde: opennet.ru

