Stable Channel Update for Desktop

Tuesday, May 29, 2018

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

Chrome 67.0.3396.62 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 67.
Site Isolation Trial

Chrome 66 will include a small percentage trial of Site Isolation, to prepare for a broader upcoming launch.  Site Isolation improves Chrome's security and helps mitigate the risks posed by Spectre.

To diagnose whether an issue is caused by Site Isolation, use chrome://flags#site-isolation-trial-opt-out as described here. Please report any trial-specific issues to help us fix them before Site Isolation is launched more broadly.

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 34 security fixes. Below, we highlight fixes that were contributed by external researchers. Please see the Chrome Security Page for more information.

[$3000][835639] High CVE-2018-6123: Use after free in Blink. Reported by Looben Yang on 2018-04-22
[$5000][840320] High CVE-2018-6124: Type confusion in Blink. Reported by Guang Gong of Alpha Team, Qihoo 360 on 2018-05-07
[$5000][818592] High CVE-2018-6125: Overly permissive policy in WebUSB. Reported by Yubico, Inc on 2018-03-05
[$N/A][844457] High CVE-2018-6126: Heap buffer overflow in Skia. Reported by Ivan Fratric of Google Project Zero on 2018-05-18
[$TBD][842990] High CVE-2018-6127: Use after free in indexedDB. Reported by Looben Yang on 2018-05-15
[$TBD][841105] High CVE-2018-6128: uXSS in Chrome on iOS. Reported by Tomasz Bojarski on 2018-05-09
[$N/A][838672] High CVE-2018-6129: Out of bounds memory access in WebRTC. Reported by Natalie Silvanovich of Google Project Zero on 2018-05-01
[$N/A][838402] High CVE-2018-6130: Out of bounds memory access in WebRTC. Reported by Natalie Silvanovich of Google Project Zero on 2018-04-30
[$N/A][826434] High CVE-2018-6131: Incorrect mutability protection in WebAssembly. Reported by Natalie Silvanovich of Google Project Zero on 2018-03-27
[$500][839960] Medium CVE-2018-6132: Use of uninitialized memory in WebRTC. Reported by Ronald E. Crane on 2018-05-04
[$500][817247] Medium CVE-2018-6133: URL spoof in Omnibox. Reported by Khalil Zhani on 2018-02-28
[$500][797465] Medium CVE-2018-6134: Referrer Policy bypass in Blink. Reported by Jun Kokatsu (@shhnjk) on 2017-12-23
[$1000][823353] Medium CVE-2018-6135: UI spoofing in Blink. Reported by Jasper Rebane on 2018-03-19
[$1500][831943] Medium CVE-2018-6136: Out of bounds memory access in V8. Reported by Peter Wong on 2018-04-12
[$2000][835589] Medium CVE-2018-6137: Leak of visited status of page in Blink. Reported by Michael Smith ( on 2018-04-21
[$2000][810220] Medium CVE-2018-6138: Overly permissive policy in Extensions. Reported by François Lajeunesse-Robert on 2018-02-08
[$2000][805224] Medium CVE-2018-6139: Restrictions bypass in the debugger extension API. Reported by Rob Wu on 2018-01-24
[$2000][798222] Medium CVE-2018-6140: Restrictions bypass in the debugger extension API. Reported by Rob Wu on 2018-01-01
[$2000][796107] Medium CVE-2018-6141: Heap buffer overflow in Skia. Reported by Yangkang(@dnpushme) & Wanglu of Qihoo360 Qex Team on 2017-12-19
[$4500][837939] Medium CVE-2018-6142: Out of bounds memory access in V8. Reported by Choongwoo Han of Naver Corporation on 2018-04-28
[$TBD][843022] Medium CVE-2018-6143: Out of bounds memory access in V8. Reported by Guang Gong of Alpha Team, Qihoo 360 on 2018-05-15
[$500][828049] Low CVE-2018-6144: Out of bounds memory access in PDFium. Reported by pdknsk on 2018-04-02
[$500][805924] Low CVE-2018-6145: Incorrect escaping of MathML in Blink. Reported by Masato Kinugawa on 2018-01-25
[$TBD][818133] Low CVE-2018-6147: Password fields not taking advantage of OS protections in Views. Reported by Michail Pishchagin (Yandex) on 2018-03-02

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:

[847542] 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 67.

 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

Chrome 67 베타에서 변경된 내용

Chrome 67 에는 일반 센서 API 추가 및 WebXR Device API 추가로 AR과 VR 경험을 제공하는 웹 어플리케이션 경험을 제공, 
V8 JavaScript 엔진 업데이트 버전 6.7이 포함되어 있습니다. BigInt 지원이 기본적 으로 활성화 된 가장 큰 변경 사항입니다.

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 해상도 영상 제대로 보기가 힘들듯 합니다.  

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

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

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

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

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

주소창에 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 의 새로운 실험 기능입니다.

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

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% 정도 더 좋아짐