Google hat die Veröffentlichung des Web-Browsers Chrome 94 vorgestellt. Gleichzeitig ist die stabile Version des freien Projekts Chromium verfĂŒgbar, das die Grundlage fĂŒr Chrome bildet. Der Browser Chrome zeichnet sich durch die Verwendung des Google-Logos, ein Benachrichtigungssystem im Falle eines Absturzes, Module zur Wiedergabe geschĂŒtzter Videoinhalte (DRM), ein automatisches Update-System und die Ăbertragung von RLZ-Parametern bei Suchanfragen aus. Die nĂ€chste Version Chrome 95 ist fĂŒr den 19. Oktober geplant.
Mit der Veröffentlichung von Chrome 94 wurde die Entwicklung auf einen neuen Release-Zyklus umgestellt. ZukĂŒnftige bedeutende Releases werden nun alle 4 Wochen statt alle 6 Wochen veröffentlicht, wodurch neue Funktionen schneller den Nutzern zur VerfĂŒgung stehen. Dabei wird hervorgehoben, dass die Optimierung des Release-Prozesses und die Verbesserung des Testsystems hĂ€ufigere Veröffentlichungen ohne QualitĂ€tsverluste ermöglichen. FĂŒr Unternehmen und fĂŒr diejenigen, die mehr Zeit fĂŒr Updates benötigen, wird alle 8 Wochen eine separate Extended Stable-Version veröffentlicht, die den Wechsel auf neue Funktionsversionen nicht alle 4 Wochen, sondern alle 8 Wochen erlaubt.
Die HauptÀnderungen in Chrome 94:
- Ein HTTPS-First-Modus wurde hinzugefĂŒgt, der dem bereits in Firefox verfĂŒgbaren HTTPS-Only-Modus Ă€hnelt. Wenn der Modus in den Einstellungen aktiviert ist und der Benutzer versucht, eine Ressource ohne VerschlĂŒsselung ĂŒber HTTP zu öffnen, wird der Browser zunĂ€chst versuchen, die Website ĂŒber HTTPS aufzurufen. Wenn dieser Versuch fehlschlĂ€gt, erhĂ€lt der Benutzer eine Warnung, dass HTTPS nicht unterstĂŒtzt wird, und wird aufgefordert, die Website ohne VerschlĂŒsselung zu öffnen. In Zukunft prĂŒft Google die Möglichkeit, HTTPS-First standardmĂ€Ăig fĂŒr alle Benutzer zu aktivieren, den Zugriff auf bestimmte Funktionen der Webplattform fĂŒr Seiten, die ĂŒber HTTP geöffnet werden, einzuschrĂ€nken und zusĂ€tzliche Warnungen hinzuzufĂŒgen, die die Benutzer ĂŒber die Risiken beim Besuch unverschlĂŒsselter Seiten informieren. Der Modus wird im Einstellungsbereich âDatenschutz und Sicherheitâ > âSicherheitâ > âErweiterteâ aktiviert.

- FĂŒr Seiten, die ohne HTTPS geöffnet werden, ist das Senden von Anfragen (Laden von Ressourcen) an lokale URLs (z.B. âhttp://router.localâ und localhost) und interne Adressbereiche (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 usw.) untersagt. Eine Ausnahme gilt nur fĂŒr Seiten, die von Server, die interne IPs haben. Zum Beispiel, eine Seite, die von Server 1.2.3.4 geladen wird, kann auf eine Ressource zugreifen, die auf IP 192.168.0.1 oder IP 127.0.0.1 gehostet ist, wĂ€hrend eine von Server 192.168.1.1 geladene Seite dies ebenfalls kann. Diese Ănderung fĂŒhrt eine zusĂ€tzliche Schutzebene ein, um die Ausnutzung von Schwachstellen in Handlern zu verhindern, die Anfragen an lokale IPs akzeptieren, und schĂŒtzt vor DNS-Rebinding-Angriffen.
- Die Funktion âSharing Hubâ wurde hinzugefĂŒgt, die es ermöglicht, den Link zur aktuellen Seite schnell mit anderen Benutzern zu teilen. Es gibt die Möglichkeit, einen QR-Code mit der URL zu generieren, die Seite zu speichern, den Link an ein anderes mit dem Benutzerkonto verbundenes GerĂ€t zu senden und Links auf Drittanbieter-Websites wie Facebook, WhatsApp, Twitter und VK zu teilen. Diese Möglichkeit ist bislang nicht fĂŒr alle Benutzer verfĂŒgbar. Um die SchaltflĂ€che âTeilenâ im MenĂŒ und der Adressleiste zwangsweise zu aktivieren, können die Einstellungen âchrome://flags/#sharing-hub-desktop-app-menuâ und âchrome://flags/#sharing-hub-desktop-omniboxâ genutzt werden.

- Es gab eine Umstrukturierung im Browser-Einstellungs-Interface. Jede Einstellungssektion wird jetzt auf einer eigenen Seite angezeigt, anstatt auf einer gemeinsamen.

- Die UnterstĂŒtzung fĂŒr die dynamische Aktualisierung des Logs ausgegebener und zurĂŒckgezogener Zertifikate (Certificate Transparency) wurde implementiert, das nun ohne Bindung an die Browser-Aktualisierung aktualisiert wird.
- Es wurde eine Hilfeseite âchrome://whats-newâ hinzugefĂŒgt, die eine Ăbersicht ĂŒber sichtbare Ănderungen fĂŒr den Benutzer in der neuen Version bietet. Die Seite wird automatisch direkt nach dem Update angezeigt oder ist ĂŒber die SchaltflĂ€che âWas ist neuâ im HilfemenĂŒ verfĂŒgbar. Derzeit werden auf der Seite die Tabsuche, die Möglichkeit zur Trennung von Profilen und die Funktion zur Ănderung der Hintergrundfarbe erwĂ€hnt, die nicht spezifisch fĂŒr Chrome 94 sind und in frĂŒheren Versionen eingefĂŒhrt wurden. Die Anzeige der Seite ist derzeit nicht fĂŒr alle Benutzer aktiviert: zur Steuerung der Aktivierung können die Einstellungen âchrome://flags#chrome-whats-new-uiâ und âchrome://flags#chrome-whats-new-in-main-menu-new-badgeâ verwendet werden.

- Der Zugriff auf die WebSQL-API aus Inhalten, die von Drittanbieter-Websites geladen werden (z.B. ĂŒber iframe), wurde als veraltet erklĂ€rt. In Chrome 94 wird beim Versuch, auf WebSQL aus externen Skripten zuzugreifen, eine Warnung angezeigt, aber ab Chrome 97 werden solche Zugriffe blockiert. ZukĂŒnftig ist geplant, die UnterstĂŒtzung von WebSQL schrittweise vollstĂ€ndig einzustellen, unabhĂ€ngig vom Nutzungszusammenhang. Der WebSQL-Handler basiert auf dem SQLite-Code und könnte von Angreifern zur Ausnutzung von Schwachstellen in SQLite verwendet werden.
- Aus SicherheitsgrĂŒnden und zur Verhinderung bösartiger AktivitĂ€ten wurde die Verwendung des veralteten MK-Protokolls (URL:MK) blockiert, das einmal in Internet Explorer verwendet wurde und es web-basierten Anwendungen ermöglichte, Informationen aus komprimierten Dateien zu extrahieren.
- Die UnterstĂŒtzung fĂŒr die Synchronisierung mit alten Versionen von Chrome (Chrome 48 und Ă€lter) wurde eingestellt.
- Der HTTP-Header Permissions-Policy, der dazu dient, bestimmte Funktionen zu aktivieren und den Zugriff auf APIs zu steuern, hat die UnterstĂŒtzung fĂŒr das Flag âdisplay-captureâ erhalten, das die Verwendung der API Screen Capture auf der Seite steuert (standardmĂ€Ăig wird der Zugriff auf den Inhalt des Bildschirms aus externen iframes blockiert).
- Im Modus der Origin Trials (experimentelle Funktionen, die eine separate Aktivierung erfordern) wurden mehrere neue APIs hinzugefĂŒgt. Origin Trial bedeutet die Möglichkeit, mit der angegebenen API aus Anwendungen zu arbeiten, die von localhost oder 127.0.0.1 geladen werden, oder nach erfolgreicher Registrierung und Erhalt eines speziellen Tokens, der fĂŒr eine begrenzte Zeit fĂŒr eine bestimmte Website gĂŒltig ist.
- Die WebGPU-API wurde hinzugefĂŒgt, um die WebGL-API abzulösen und bietet Mittel zur AusfĂŒhrung von Operationen auf der GPU, wie z.B. Rendering und Berechnungen. Konzeptuell Ă€hnelt WebGPU der Vulkan-, Metal- und Direct3D 12-API. WebGPU unterscheidet sich konzeptionell von WebGL in etwa so, wie die grafische API Vulkan sich von OpenGL unterscheidet, basiert jedoch nicht auf einer bestimmten grafischen API, sondern stellt eine universelle Schicht dar, die die gleichen Low-Level-Primitiven verwendet, die in Vulkan, Metal und Direct3D 12 vorhanden sind.
WebGPU bietet JavaScript-Anwendungen niedrige Kontrollmöglichkeiten fĂŒr die Organisation, Verarbeitung und Ăbertragung von Befehlen an die GPU und ermöglicht das Management verwandter Ressourcen, Speicher, Puffer, Texturobjekte und kompilierten Grafik-Shadern. Dieser Ansatz ermöglicht eine höhere Leistung bei grafischen Anwendungen durch Verringerung der Overhead-Kosten und Steigerung der Effizienz bei der Arbeit mit der GPU. Die API ermöglicht es auch, komplexe 3D-Projekte fĂŒr das Web zu erstellen, die nicht schlechter funktionieren als eigenstĂ€ndige Programme, jedoch nicht an bestimmte Plattformen gebunden sind.
- FĂŒr isolierte PWA-Anwendungen wurde die Möglichkeit implementiert, sich als URL-Handler zu registrieren. Beispielsweise kann die Anwendung music.example.com sich als Handler fĂŒr die URL https://*.music.example.com registrieren, sodass alle Links von externen Anwendungen, wie aus Messengern und E-Mail-Clients, zu diesem PWA-Programm fĂŒhren und nicht zu einem neuen Tab im Browser.
- Die UnterstĂŒtzung fĂŒr den neuen HTTP-Statuscode 103 wurde implementiert, der fĂŒr eine proaktive Bereitstellung von Headers verwendet werden kann. Der Statuscode 103 ermöglicht es, den Client ĂŒber den Inhalt bestimmter HTTP-Header sofort nach der Anfrage zu informieren, ohne darauf zu warten, dass der Server alle mit der Anfrage verbundenen Operationen ausfĂŒhrt und mit der Bereitstellung des Inhalts beginnt. Auf diese Weise können Hinweise zu verwandten Elementen der anzufordenden Seite gegeben werden, die vorab geladen werden können (z.B. Links zu den auf der Seite verwendeten CSS- und JavaScript-Dateien). Mit diesen Informationen beginnt der Browser, diese Ressourcen zu laden, ohne auf den Abschluss der Bereitstellung der Hauptseite zu warten, was die gesamte Anfrageverarbeitungszeit verkĂŒrzt.
- Die WebGPU-API wurde hinzugefĂŒgt, um die WebGL-API abzulösen und bietet Mittel zur AusfĂŒhrung von Operationen auf der GPU, wie z.B. Rendering und Berechnungen. Konzeptuell Ă€hnelt WebGPU der Vulkan-, Metal- und Direct3D 12-API. WebGPU unterscheidet sich konzeptionell von WebGL in etwa so, wie die grafische API Vulkan sich von OpenGL unterscheidet, basiert jedoch nicht auf einer bestimmten grafischen API, sondern stellt eine universelle Schicht dar, die die gleichen Low-Level-Primitiven verwendet, die in Vulkan, Metal und Direct3D 12 vorhanden sind.
- Die API WebCodecs wurde hinzugefĂŒgt, um Multimedia-Streams auf niedriger Ebene zu manipulieren, und ergĂ€nzt hochrangige APIs wie HTMLMediaElement, Media Source Extensions, WebAudio, MediaRecorder und WebRTC. Die neue API könnte in Bereichen wie Game-Streaming, Anwendung von Effekten auf der Client-Seite, Neuencodierung von Streams und UnterstĂŒtzung fĂŒr nicht standardisierte Multimedia-Container gefragt sein. Anstatt separate Codecs in JavaScript oder WebAssembly zu implementieren, bietet die API WebCodecs Zugriff auf fertige, leistungsstarke Komponenten, die im Browser eingebaut sind. Insbesondere bietet die API WebCodecs Decoder und Encoder fĂŒr Audio und Video, Bilddecoder sowie Funktionen zur Arbeit mit einzelnen Video-Frames auf niedriger Ebene.
- Stabilisierte API Insertable Streams, die die Manipulation von unkomprimierten (raw) Multimedia-Streams ermöglichen, die ĂŒber die API MediaStreamTrack ĂŒbertragen werden, wie Daten von Kamera und Mikrofon, Ergebnisse der Bildschirmaufnahme oder Zwischenergebnisse der Dekodierung durch den Codec. FĂŒr die Darstellung der rohen Frames werden die WebCodec-Schnittstellen verwendet, woraufhin ein Stream generiert wird, der dem Ă€hnelt, den die API WebRTC Insertable Streams auf Basis von RTCPeerConnections erzeugt. Praktisch ermöglicht die neue API die Implementierung von Funktionen wie der Anwendung von maschinellen Lernmethoden zur Identifizierung oder Annotation von Objekten in Echtzeit oder zur HinzufĂŒgung von Effekten, wie z. B. dem Herausnehmen des Hintergrunds, vor der Kodierung oder nach der Dekodierung durch den Codec.
- Stabilisierte Methode scheduler.postTask(), die die Planung der AusfĂŒhrung von Aufgaben (Callback-Calls von JavaScript) mit unterschiedlichen PrioritĂ€tsstufen verwaltet. Es stehen drei PrioritĂ€tsstufen zur VerfĂŒgung: 1 - AusfĂŒhrung hat Vorrang, selbst wenn Benutzeroperationen blockiert werden können; 2 - sichtbare Ănderungen fĂŒr den Benutzer sind zulĂ€ssig; 3 - AusfĂŒhrung im Hintergrund). Um die PrioritĂ€t zu Ă€ndern und Aufgaben abzubrechen, kann das Objekt TaskController verwendet werden.
- Stabilisiert und jetzt auĂerhalb der Origin Trials verteiltes API Idle Detection zur Bestimmung der InaktivitĂ€t des Benutzers. Die API ermöglicht die Bestimmung der Zeit, in der der Benutzer nicht mit der Tastatur/Maus interagiert, der Bildschirmschoner aktiv ist, der Bildschirm gesperrt ist oder die Arbeit auf einem anderen Monitor stattfindet. Die Benachrichtigung der Anwendung ĂŒber die InaktivitĂ€t erfolgt durch das Senden einer Benachrichtigung, nachdem ein festgelegter InaktivitĂ€tswert erreicht wurde.
- Formalisiert den Prozess der Farbverwaltung in Objekten CanvasRenderingContext2D und ImageData und deren Verwendung im Farbmanagementraum sRGB. Ermöglicht die Erstellung von Objekten CanvasRenderingContext2D und ImageData in FarbmanagementrÀumen, die sich von sRGB unterscheiden, wie Display P3, um die erweiterten Funktionen moderner Monitore zu nutzen.
- In der API VirtualKeyboard wurden Methoden und Eigenschaften hinzugefĂŒgt, um das Anzeigen und Verbergen der virtuellen Tastatur zu steuern sowie Informationen ĂŒber die GröĂe der angezeigten virtuellen Tastatur abzurufen.
- In JavaScript, classes have the option to use static initialization blocks to group code that runs once during class processing: class C { // The block will run during the processing of the class itself static { console.log("Câs static block"); } }
- In the CSS properties flex-basis and flex, the keywords content, min-content, max-content, and fit-content have been implemented for more flexible control over the size of the main area of Flexbox.
- Das CSS-Attribut scrollbar-gutter wurde hinzugefĂŒgt, um den Platz auf dem Bildschirm fĂŒr die Scrollleiste zu steuern. Wenn beispielsweise keine Scrollung des Inhalts erforderlich ist, kann die Ausgabe erweitert werden, um den Bereich der Scrollleiste zu nutzen.
- The Self Profiling API has been added with a profiling system that allows measuring the execution time of JavaScript on the client side for debugging performance issues in JavaScript code, without resorting to manual manipulation in the web developers' interface.
- After the removal of the Flash plugin, it was decided to return empty values in the properties navigator.plugins and navigator.mimeTypes, but it turned out that some applications used them to check for the presence of plugins to display PDF files. Since Chrome has a built-in PDF viewer, henceforth the properties navigator.plugins and navigator.mimeTypes will return a fixed list of standard plugins and MIME types for viewing PDF â "PDF Viewer, Chrome PDF Viewer, Chromium PDF Viewer, Microsoft Edge PDF Viewer and WebKit built-in PDF".
- Improvements have been made to the web development tools. Nest Hub and Nest Hub Max devices have been added to the device simulation list. A button has been added to the network activity inspection interface for inverting filters (for example, when setting the filter "status-code: 404", you can quickly see all other requests), and the ability to view the original values of Set-Cookie headers has been provided (allowing assessment of the presence of incorrect values removed during normalization). The sidebar in the web console has been declared deprecated and will be removed in one of the upcoming releases. An experimental feature to hide issues in the Issues tab has been added. An option to select the interface language has been added in the settings.

Neben Neuerungen und Fehlerbehebungen wurden in der neuen Version 19 SicherheitsanfĂ€lligkeiten behoben. Viele dieser Schwachstellen wurden durch automatisierte Tests mit den Werkzeugen AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer und AFL identifiziert. Kritische Probleme, die es ermöglichen, alle Schutzebenen des Browsers zu umgehen und Code auĂerhalb der Sandbox-Umgebung auszufĂŒhren, wurden nicht gefunden. Im Rahmen des Belohnungsprogramms fĂŒr die Entdeckung von SicherheitsanfĂ€lligkeiten hat Google fĂŒr die aktuelle Version 17 PrĂ€mien in Höhe von 56.500 US-Dollar ausgezahlt (eine PrĂ€mie von 15.000 $, zwei PrĂ€mien von 10.000 $, eine PrĂ€mie von 7.500 $, vier PrĂ€mien von 3.000 $ und zwei PrĂ€mien von 1.000 $). Die Höhe von 7 PrĂ€mien ist noch nicht festgelegt.
Quelle: opennet.ru





