MozillaはFirefox 50をリリースした。最新のアップデートでは,複数のコンテントプロセスによるメリットが拡大すると同時に,インパクトの大きなセキュリティ上の脆弱性が数多く修正されている。
Firefox最新リリースの改良点ひとつは,Web関連のコンテントをバックグラウンドでレンダリングおよび実行するMozillaの機能であるElectrolysisがこれまで以上に活用されていることだ。この設計により,ブラウザの応答性と安定性が改善されている。
また,SDKエクステンション,あるいはSDKのモジュールローダを使用したエクステンションのパフォーマンスが向上する一方で,WebM EMEでのWidevineのサポートなど,プラグイン不要なビデオのサポートが拡張されている。
Firefox製品担当VPのNick Nguyen氏はInfoQに対して,Firefox50は“JavaScriptエンジンに関しては比較的穏やかなリリース”だが,いくつかの注目すべき機能がある,と語っている。
アップデートの中でJavaScript開発者が注目すべきは,XHRのソースマップリンクとスタックトレース,Web Console内でのfetch()要求だ。
この件に関するMDNの記事によると,開発者にとってこれは,JavaScriptソースが圧縮されていなければソースマップの生成が可能になる,ということになる。それを参照することで,これらソースが生成したメッセージあるいはエラーは,発生元ソースへのリンクとともにWeb Consoleに表示される。
Firefox 50では,JavaScript開発者に対してES2015のSymbol.hasInstance
プロパティの実装が提供される。これは,“コンストラクタオブジェクトがオブジェクトを,そのコンストラクタのインスタンスと認識するかどうかを決定する”ためのものだ。
さらに,“指定されたオブジェクトが所有する(プロトタイプチェーン内ではなく,オブジェクト上に直接存在する)プロパティのプロパティディスクリプタを返す”Object.getOwnPropertyDescriptors
メソッドも追加されている。
Firefox 50では,Mozilla Foundation Security Advisory 2016-89にある12件の影響度の高いセキュリティ脆弱性と,重大な脆弱性であるイシューCVE-2016-5296がフィックスされた。この重大な脆弱性は,“コンパイラの最適化を原因とする,SVGコンテンツ処理時のCairo内のヒープバッファオーバーフロー”によるものと報告されている。
この問題に対処したRedHatからのセキュリティアップデートによると,“悪意のあるWebコンテンツの処理に関して,複数の欠陥が発見されて”おり,“悪意のあるコンテンツを含んだWebページがFirefoxをクラッシュさせるか,あるいは,Firefoxを実行しているユーザの権限で任意のコードを実行できる可能性が”ある。
今回修正された影響度の高い脆弱性の中には,CVE-2016-9064 — アドオンアップデートがサインされたパッケージ内のアドオンIDとアップデートされるIDとの一致性検証に失敗した場合に,そのコネクションがオープンされたままになり,“中間者攻撃(man-in-the-middle attack)”の対象となる,CVE-2016-9075 — 悪意のあるWebエクステンションがmozAddonManager APIを使用して,権限なしに他のエクステンションをインストールすることが可能である,などがある。
Nguyen氏はこれら脆弱性について,いずれも“内部で発見されたか,あるいは責任を持って公開された”ものであり,いずれにおいても“既知のエクスプロイトは存在しない”,としている。
バージョン50の変更点のフルリストはリリースノートで確認できる。
MozillaはFirefoxプロジェクトへの新規参画者を歓迎している。InfoQ読者も,さまざまな方法でFirefoxにコントリビュートすることが可能だ。そのオプションの全リストは,Mozillaの発行する数多くのHow Toガイドとともに,Mozilla Developer Networkに公開されている。
この記事を評価
- 編集者評
- 編集長アクション