ニュース

「Google Chrome 91」でSharedArrayBufferの制限が強化 ~COEP/COOPヘッダーの明示的な指定が必要に【5月26日追記】

ユーザーからのフィードバックなどを考慮し「Google Chrome 92」まで制限強化を延期

公式ブログ“Chromium Blog”

 米Googleは2月17日(現地時間、以下同)、公式ブログ“Chromium Blog”で、今後予定されている「SharedArrayBuffer」の制限強化について注意を喚起した。すべてのプラットフォームでクロスオリジン分離(cross-origin isolation)が必要となる。

 2018年に「Spectre」や「Meltdown」といったサイドチャネル脆弱性が発見されたことにより、スレッド間でメモリを共有する“SharedArrayBuffer”をはじめとする一部の強力なWeb APIは危険だとみなされるようになった。同社はWebサイトをそれぞれ独立したプロセスへ隔離し、他のサイトから情報を盗まれないようにする“厳密なサイト分離(Strict site isolation)”というセキュリティ機能を「Google Chrome」に導入する一方で、安全に特権機能を利用できるようにするための方法が模索してきたが、その成果が“cross-origin isolation”呼ばれるオプトインベースの分離環境だ。

 かいつまんで言うと、デスクトップ版「Chrome 91」以降、“SharedArrayBuffer”や“performance.measureUserAgentSpecificMemory()”といった特権機能を利用するには以下のHTTPヘッダー“COEP(Cross-Origin-Embedder-Policy)/COOP(Cross-Origin-Opener-Policy)”を明示的に指定する必要がある。

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin

 なお、Android版では「Chrome 88」からこの制限が導入されているとのこと。デスクトップ版で「Chrome 91」までに対応が間に合わない場合は、“Origin Trials”に登録することで「Chrome 93」まで現行の仕様を維持できる。

5月26日編集部追記: 「SharedArrayBuffer」や「performance.measureUserAgentSpecificMemory()」の制限強化は、ユーザーからのフィードバックや報告された問題を考慮し、「Google Chrome 92」まで延期された。