Stable Channel Update for Desktop

Tuesday, September 4, 2018

The Chrome team is delighted to announce the promotion of Chrome 69 to the stable channel for Windows, Mac and Linux. This will roll out over the coming days/weeks.

Chrome 69.0.3497.81 contains a number of fixes and improvements -- a list of changes is available in the log. Watch out for upcoming Chrome and Chromium blog posts about new features and big efforts delivered in 69.

Security Fixes and Rewards

Note: Access to bug details and links may be kept restricted until a majority of users are updated with a fix. We will also retain restrictions if the bug exists in a third party library that other projects similarly depend on, but haven’t yet fixed.

This update includes 40 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.

[$5000][867776] High CVE-2018-16065: Out of bounds write in V8. Reported by Brendon Tiszka on 2018-07-26
[$3000][847570] High CVE-2018-16066:Out of bounds read in Blink. Reported by cloudfuzzer on 2018-05-29
[$500][860522] High CVE-2018-16067: Out of bounds read in WebAudio. Reported by Zhe Jin(金哲),Luyao Liu(刘路遥) from Chengdu Security Response Center of Qihoo 360 Technology Co. Ltd on 2018-07-05
[N/A][877182] High CVE-2018-16068: Out of bounds write in Mojo. Reported by Mark Brand of Google Project Zero on 2018-08-23
[N/A][848238] High CVE-2018-16069:Out of bounds read in SwiftShader. Reported by Mark Brand of Google Project Zero on 2018-05-31
[N/A][848716] High CVE-2018-16070: Integer overflow in Skia. Reported by Ivan Fratric of Google Project Zero on 2018-06-01
[N/A][855211] High CVE-2018-16071: Use after free in WebRTC. Reported by Natalie Silvanovich of Google Project Zero on 2018-06-21
[$4000][864283] Medium CVE-2018-16072: Cross origin pixel leak in Chrome's interaction with Android's MediaPlayer. Reported by Jun Kokatsu (@shhnjk) on 2018-07-17
[$3000][863069] Medium CVE-2018-16073: Site Isolation bypass after tab restore. Reported by Jun Kokatsu (@shhnjk) on 2018-07-12
[$3000][863623] Medium CVE-2018-16074: Site Isolation bypass using Blob URLS. Reported by Jun Kokatsu (@shhnjk) on 2018-07-13
[$2500][864932] Medium: Out of bounds read in Little-CMS. Reported by Quang Nguyễn (@quangnh89) of Viettel Cyber Security on 2018-07-18
[$2000][788936] Medium CVE-2018-16075: Local file access in Blink. Reported by Pepe Vila (@cgvwzq) on 2017-11-27
[$2000][867501] Medium CVE-2018-16076: Out of bounds read in PDFium. Reported by Aleksandar Nikolic of Cisco Talos on 2018-07-25
[$2000][848123] Medium: Cross origin read. Reported by Luan Herrera (@lbherrera_) on 2018-05-31
[848535] Low CVE-2018-16087: Multiple download restriction bypass.
[848531] Low CVE-2018-16088: User gesture requirement bypass.
[$1000][377995] Medium CVE-2018-16077: Content security policy bypass in Blink. Reported by Manuel Caballero on 2014-05-27
[$1000][858820] Medium CVE-2018-16078: Credit card information leak in Autofill. Reported by Cailan Sacks on 2018-06-28
[$500][723503] Medium CVE-2018-16079: URL spoof in permission dialogs. Reported by Markus Vervier and Michele Orrù (antisnatchor) on 2017-05-17
[$500][858929] Medium CVE-2018-16080: URL spoof in full screen mode. Reported by Khalil Zhani on 2018-06-29
[N/A][666299] Medium CVE-2018-16081: Local file access in DevTools. Reported by Jann Horn of Google Project Zero on 2016-11-17
[N/A][851398] Medium CVE-2018-16082: Stack buffer overflow in SwiftShader. Reported by Omair on 2018-06-11
[N/A][856823] Medium CVE-2018-16083: Out of bounds read in WebRTC. Reported by Natalie Silvanovich of Google Project Zero on 2018-06-26
[$1000][865202] Low CVE-2018-16084: User confirmation bypass in external protocol handling. Reported by Jun Kokatsu (@shhnjk) on 2018-07-18
[$500][844428] Low CVE-2018-16086: Script injection in New Tab Page. Reported by Alexander Shutov (Dark Reader extension) on 2018-05-18
[N/A][856578] Low CVE-2018-16085: Use after free in Memory Instrumentation. Reported by Roman Kuksin of Yandex on 2018-06-26
 We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.
As usual, our ongoing internal security work was responsible for a wide range of fixes:
[880418] Various fixes from internal audits, fuzzing and other initiatives

We would also like to thank all security researchers that worked with us during the development cycle to prevent security bugs from ever reaching the stable channel.

As usual, our ongoing internal security work was responsible for a wide range of fixes:

[880418] Various fixes from internal audits, fuzzing and other initiatives

Many of our security bugs are detected using AddressSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, Control Flow Integrity, libFuzzer, or AFL.

If you're interested in Enterprise relevant information please look through the Enterprise Release Notes for Chrome 69.

 Interested in switching release channels?  Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.

Thank you,

Krishna Govind

69.0.3497.92 추가 업데이트 

Chrome 69 베타에서 변경된 내용

Chrome 69는 개편된 디자인, 더 강력한 검색 주소창 및 더 나은 비밀번호 관리자를 제공합니다.

Chrome 69 버전부터 Material Design 2 가 기본값이 되었습니다.

Chrome 69 - Design.png

기존 Design 으로 변경할려면 chrome://flags 에서 설정할 수 있습니다.

Chrome 69 - Design - Normal.png

그리고 새로운 옵션인 Out of process rasterization 와 Enable pixel canvas recording 추가되었습니다.

특히 Enable pixel canvas recording 옵션은 웹서핑 속도향상이 큽니다.

Out of process rasterization 옵션은 Chrome://gpu 에서 활성, 비활성을 확인할수 있습니다.

Out of process rasterization - gpu.png

chrome://flags 에서 활성, 비활성을 설정할 수 있습니다.

Enable pixel canvas recording.png

Out of process rasterization.png

Chrome 67 버전부터 Material Design 2 가 추가되었습니다.

Chrome://gpu 에서 설정할수 있습니다.

flags - UI Layout for the browser's top chrome - Reflesh.png

Chrome67 - New UI - Refresh.png

Refresh >

Chrome67 - New UI - Touchable.png

Touchable >

그리고 Viz Service Display 을 선택할수 있습니다. 

chrome://gpu 에서 실행이 되고 있는지 확인할수 있으며

Viz Service Display - Disable.png

Viz Service Display - Enable.png

chrome://flags 에서 설정할 수 있습니다.

flags - Viz Service Display - Disable.png

Viz Display Compositor (OOP-D)

If enabled, the display compositor runs as part of the viz service in theGPU process. – Mac, Windows, Linux


만약 실행이 가능하다면, 디스플레이 컴포지터는 GPU 프로세스안의 Viz 서비스의 일부처럼 작동하게 됩니다.

구글에서 찾아보니 Viz Display 의 주된 목표는 브라우저 컴포지션에서 GPU 프로세스로 디스플레이 컴포지션을 
옮기는 것입니다. 결과적으로 브라우저 및 렌더러 프로세스는 CompositorFrames 를 GPU에 직접 제출합니다.

Google Chrome 67 웹브라우저 116 개를 띄어놓고 사용중인데 작업관리자에서 '작업끝내기' 로 컸다가 다시 '복원' 으로 
웹브라우저 116개를 동시에 재시작을 하면 CPU 점유률이 한동안 100% 를 차지하는데 Viz Display Compositor (OOP-D) 
옵션을 Enable 설정하면 100% 점유하는 시간이 줄었습니다. 웹브라우저 100개가 동시에 재시작시 빨라졌다는 소리입니다
하지만 이 옵션은 특정 GPU 에서만 작동할지 모릅니다. 제 GPU 는 GT1030 입니다. 다른분도 한번 해보세요

윈도우 10 RS3 에서 사용되기 시작한 Material Design 이 Chrome 65 버전부터 확장프로그램에 기본 적용이 되었습니다.

Chrome 65.0.3325.146.png

그리고 크롬 61 버전에서 VP9 8K 해상도 영상 하드웨어 디코딩 지원을 합니다.

본인의 GPU가 VP9 8K 해상도 하드웨어 디코딩 지원하는지 확인하는 방법은 여기서 DXVA Checker 를 다운받으면 됩니다.

GT1030 DXVA Checker.png

VP9 - 8K - 01.jpg VP9 - 8K - 02.jpg VP9 - 8K - 03.jpg

Video Engine Load 률이 무려 98% 네요

[Chrome] Google Chrome 60.0.3112.78 - 이제부터 본격적으로 VP9 GPU 가속 (Video Engine Load) 지원하는 것 같습니다.

여기서 보듯이 크롬 60 버전에서는 VP9 8K 해상도 영상 하드웨어 디코딩 지원을 못했습니다.
크롬 61 버전에서 드디어 VP9 8K 해상도 영상 하드웨어 디코딩 지원을 하네요

그런데 영상 해상도가 너무 높아서 인지 GT1030 디코딩 하드웨어 한계를 넘어가는 것 같습니다.
화면이 막 끊깁니다. GT1030 은 파스칼 막내로 최신 디코딩 하드웨어 기술이 탑재되어 있습니다.
10501050TiTitan XP 랑 동급의 성능인데 아무래도 이번 파스칼 시리즈에서는 VP9 8K 해상도 영상 제대로 보기가 힘들듯 합니다.  

크롬 69 버전 더 빨라지게 하는 방법

초필수 설정 ( 웹서핑 속도 향상이 가장 큽니다. ) 

크롬 바탕화면 아이콘 ]  ----->  [ 마우스 오른쪽 버튼 ]  ----->  [ 속성 ]  ----->  [ 대상 ]

Chrome-Setting 01.png

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --enable-native-gpu-memory-buffers --enable-features="CheckerImaging"

이 명령어를 넣으세요

1.  --enable-native-gpu-memory-buffers 

이 명령어는 네이티브 GPU 메모리 버퍼 를 사용합니다.

크롬은 웹서핑을 해서 데이타를 로딩할때 우선 시스템 메모리에 데이타를 올려놓고 GPU에 할당된 메모리에 올려놓는데 
이 설정을 하면 시스템 메모리에 데이타를 올려놓는 과정을 없애고 바로 GPU에 할당된 메모리에 데이타를 올려놓습니다. 
내장 GPU 라도 설정된 메모리가 있으면 외장 GPU 같이 성능 향상이 있습니다. )

반드시 Chrome://flags 에서  [ Zero-copy 래스터라이저  ----->  사용 설정됨 ] 으로 해야 제 성능이 나옵니다.

2.  --enable-features="CheckerImaging"

이 명령어는 페이지 로딩할때 큰 그림은 나중에 나오게 하고 간단한 그림을 먼저 로딩하여 웹서핑 체감속도를 
빠르게 해주는 명령어 입니다.

위의 명령어는 Chrome 65 버전까지 이고 Chrome 66 버전에서는 Chrome://flags 에서 따로 Enabled 설정을 해주어야 합니다.


이 명령어들이 제대로 적용되었는지 확인할려면

주소창에 chrome://gpu 

ChromeGPU - 01.png

< Chrome 65 >


< Chrome 66 >

ChromeGPU - 02.png

빨간 네모창의 문자가 나와야 합니다.

native-one-copy-texture-blog_screen12.jpg native-one-copy-texture-blog_screen13.jpg zero-copy-texture-uploads-in-chrome-os-fig6.png zero-copy-texture-uploads-in-chrome-os-fig7.png

3. Enable pixel canvas recording '사용' 설정 

Pixel canvas recording allows the compositor to raster contents aligned with the pixel and improves text rendering. This should be enabled when a device is using fractional scale factor.

픽셀 캔버스 레코딩을 통해 컴포지션에서 Raster 내용을 Pixel 과 정렬할 수 있고 텍스트 렌더링을 개선합니다.
이 기능은 장치가 분수 ( fractional ) 스케일 인자를 사용하고 있을때 enable 해야 합니다.

[ raster : 컴퓨터에서 화상 정보를 표현하는 한 가지 방법. 이미지를 2차원 배열 형태의 픽셀로 구성하고, 이 점들의 모습을 조합, 일정한 간격의 픽셀들로 하나의 화상 정보를 표현하는 것이다. 즉 한 줄에서 연속된 픽셀들의 집합을 래스터라고 한다. ]

Chrome://flags 에서 설정할수 있습니다.

Enable pixel canvas recording.png

필수 설정 ( 웹서핑 속도 향상이 큽니다. )

주소창에 chrome://flags

Override software rendering list 

소프트웨어 렌더링 목록 무시  --->  '사용' 옵션을 선택하고 문제가 생기면 바로 '사용중지' 로 비활성화 하세요.

Experimental canvas features

실험용 캔버스 기능  --->  사용 ( 이 옵션이 체감 속도 향상이 가장 큰 것 같습니다. )

Display list 2D canvas 

디스플레이 목록 2D 캔버스  --->  사용 설정됨

Fast tab/window close

빠른 탭/창 닫기  --->  사용

GPU rasterization

GPU 래스터화  --->  사용 설정됨 ( '모든 레이어에 사용되도록 강제 설정합니다.'
이 옵션은 문제가 생기니 제대로 작동하는 사람만 쓰세요 )

GPU rasterization MSAA sample count

GPU 래스터화 MSAA 샘플 수  --->  16

Simple Cache for HTTP

HTTP용 단순 캐시  --->  사용 설정됨 ( 스마트폰에는 존재하지 않음 )

Zero-copy rasterizer

Zero-copy 래스터라이저  --->  사용 설정됨

Number of raster threads

래스터 스레드의 수  --->  4

Memory coordinator

메모리 조정자  --->  사용


According to Google developers the memory coordinator is a new experimental feature in Chrome that gives the browser control of managing memory instead of the operating system

Google 개발자에 따르면 메모리 조정자는 브라우저에서 운영 체제 대신 메모리를 관리 할 수있게 해주는 Chrome 의 새로운 실험 기능입니다.

Out of process rasterization

Perform Ganesh raster in the GPU Process instead of the renderer. Must also enable GPU rasterization

렌더러 대신 GPU 프로세스에서 Ganesh 래스터를 수행하십시오. 무조건 GPU 래스터 화를 가능하게 해야합니다.

--->  사용 설정됨

추가 설정 ( 아직 속도 향상이 그렇게 크지 않습니다. )

Experimental QUIC protocol

실험용 QUIC 프로토콜 Mac, Windows, Linux, Chrome OS, Android  --->  사용 중단

( 이론상으로는 빨라야 하는데 오히려 더 느려지는 싸이트들이 많습니다. 뭔가 문제가 있는 듯 )


(구글이 제안한 새 프로토콜로 구글 관련 서비스 이용 중 문제가 있는 경우 사용 중지합니다.)

Brotli Content-Encoding

Brotli 콘텐츠 인코딩 Mac, Windows, Linux, Chrome OS, Android  --->  사용 설정됨


Brotli’s ability to handle web assets such as HTML, JavaScript and CSS about 17-25 percent better than gzip

Brotli 압축 알고리즘은 gzip에 비해 HTML, Javascript, CSS의 처리성능이 약 17-25% 정도 더 좋아짐