Mozillaは2019年3月20日(現地時間3月19日)、Windows、Mac、Linuxなどデスクトップ向けのWebブラウザFirefoxの定期的なメジャーアップデートとなる「Firefox 66.0」を正式リリースしました。
今回リリースされたMozillaのWebブラウザ最新バージョン「Firefox 66.0」は、ベータ版で公開されたWebサイトの動画を自動再生する際に音声がミュートになる機能やタブの検索機能の強化、閲覧ページを表示した後に画面上部に画像や広告が挿入されると閲覧中のコンテンツがずれて表示されてしまう不具合などを修正しています。
Firefox 66.0デスクトップ版リリースノート
新機能
- ウェブサイト上の音声の自動再生を抑止するようになった。サイトごとにブロック除外の例外リストに追加 することができる。この機能の詳細については Mozilla blog を参照されたい。
- 検索の改善:
- 多数のタブを開いているときに特定のウェブページをより早く見つけられるようになった: タブのオーバーフローメニュー から 開いているすべてのタブを対象として検索できる ようになった。
- プライベートウインドウにおいて、新しくデザインされた新規タブからより簡単に検索できるようになった
- よりスムーズなスクロール: ページ最上部の画像や広告が読み込まれてもコンテンツ上のスクロールアンカーを保持するようになった
- 拡張機能のパフォーマンスおよびユーザーエクスペリエンスの向上:
- 拡張機能は Firefox のデータベースに自身の設定を保存できるようになった。これまでの個別の JSON ファイルへの保存と比較して処理が高速化された。
- アドオン管理画面の 再設計されたキーボードショートカットセクション により、既定のショートカットの確認・変更が容易になった。
- 再デザインされた証明書のエラーページにより、問題の把握、解決が容易になった。
- macOS のタッチバーの基本的サポート
- Pocket の改善 により、新しいタブのレイアウト・近哲の改良
- コンテンツプロセス数の 4 から 8 への倍増 による、パフォーマンス向上とクラッシュ頻度の低減。
- より簡単な、パスワード不要のセキュリティ: Windows 10 上での Windows Hello をサポート。ウェブサイトの認証において、顔認証、指紋認証、外部セキュリティキーをサポート。
修正
- ダークテーマ、ライトテーマにおいて、Windows 10 のシステム設定によりタイトルバーのアクセントカラーを上書きするようになった。
- Linux: ファイルのダウンロード中にフリーズする問題を修正。
変更
- Linux: Gnome ガイドラインに適合するよう、システムタイトルバーが既定で隠されるようになった。
開発者
- 開発者ツール: デバッガーがポーズされていてもインスペクターが完全に機能するようになった。
- ページ読み込み中に setTimeout および setInterval の優先度を下げることで、ページ読み込み全体のパフォーマンスを向上。
- 修正: 最新の使用に基づき、イベントディスパッチにおいて <button> 要素は特例として扱われなくなった。
セキュリティ修正
今回のアップデートでのセキュリティ問題についての修正は合計21件で、重要度区分「最高(critical)」5件、「高(high)」7件、「中(moderate)」5件、そして最も低レベルの「低(
low)」4件の修正が行われています。
- CVE-2019-9790: Use-after-free when removing in-use DOM elements
- [criticalCVE-2019-9790: Use-after-free when removing in-use DOM elements]
A use-after-free vulnerability can occur when a raw pointer to a DOM element on a page is obtained using JavaScript and the element is then removed while still in use. This results in a potentially exploitable crash. - [criticalCVE-2019-9791: Type inference is incorrect for constructors entered through on-stack replacement with IonMonkey]
The type inference system allows the compilation of functions that can cause type confusions between arbitrary objects when compiled through the IonMonkey just-in-time (JIT) compiler and when the constructor function is entered through on-stack replacement (OSR). This allows for possible arbitrary reading and writing of objects during an exploitable crash. - [criticalCVE-2019-9792: IonMonkey leaks JS_OPTIMIZED_OUT magic value to script]
The IonMonkey just-in-time (JIT) compiler can leak an internal JS_OPTIMIZED_OUT magic value to the running script during a bailout. This magic value can then be used by JavaScript to achieve memory corruption, which results in a potentially exploitable crash. - [criticalCVE-2019-9789: Memory safety bugs fixed in Firefox 66]
Mozilla developers and community members Dragana Damjanovic, Emilio Cobos Álvarez, Henri Sivonen, Narcis Beleuzu, Julian Seward, Marcia Knous, Gary Kwong, Tyson Smith, Yaron Tausky, Ronald Crane, and André Bargull reported memory safety bugs present in Firefox 65. Some of these bugs showed evidence of memory corruption and we presume that with enough effort that some of these could be exploited to run arbitrary code. - [criticalCVE-2019-9788: Memory safety bugs fixed in Firefox 66 and Firefox ESR 60.6]
Mozilla developers and community members Bob Clary, Chun-Min Chang, Aral Yaman, Andreea Pavel, Jonathan Kew, Gary Kwong, Alex Gaynor, Masayuki Nakano, and Anne van Kesteren reported memory safety bugs present in Firefox 65 and Firefox ESR 60.5. Some of these bugs showed evidence of memory corruption and we presume that with enough effort that some of these could be exploited to run arbitrary code. - [highCVE-2019-9793: Improper bounds checks when Spectre mitigations are disabled]
A mechanism was discovered that removes some bounds checking for string, array, or typed array accesses if Spectre mitigations have been disabled. This vulnerability could allow an attacker to create an arbitrary value in compiled JavaScript, for which the range analysis will infer a fully controlled, incorrect range in circumstances where users have explicitly disabled Spectre mitigations. - [highCVE-2019-9794: Command line arguments not discarded during execution]
A vulnerability was discovered where specific command line arguments are not properly discarded during Firefox invocation as a shell handler for URLs. This could be used to retrieve and execute files whose location is supplied through these command line arguments if Firefox is configured as the default URI handler for a given URI scheme in third party applications and these applications insufficiently sanitize URL data. - [high]CVE-2019-9795: Type-confusion in IonMonkey JIT compiler
A vulnerability where type-confusion in the IonMonkey just-in-time (JIT) compiler could potentially be used by malicious JavaScript to trigger a potentially exploitable crash. - [highCVE-2019-9796: Use-after-free with SMIL animation controller]
A use-after-free vulnerability can occur when the SMIL animation controller incorrectly registers with the refresh driver twice when only a single registration is expected. When a registration is later freed with the removal of the animation controller element, the refresh driver incorrectly leaves a dangling pointer to the driver’s observer array. - [highCVE-2019-9797: Cross-origin theft of images with createImageBitmap]
Cross-origin images can be read in violation of the same-origin policy by exporting an image after using createImageBitmap to read the image and then rendering the resulting bitmap image within a canvas element. - [highCVE-2019-9798: Library is loaded from world writable APITRACE_LIB location]
On Android systems, Firefox can load a library from APITRACE_LIB, which is writable by all users and applications. This could allow malicious third party applications to execute a man-in-the-middle attack if a malicious code was written to that location and loaded. - [highCVE-2019-9799: Information disclosure via IPC channel messages]
Insufficient bounds checking of data during inter-process communication might allow a compromised content process to be able to read memory from the parent process under certain conditions. - [moderateCVE-2019-9801: Windows programs that are not ‘URL Handlers’ are exposed to web content]
Firefox will accept any registered Program ID as an external protocol handler and offer to launch this local application when given a matching URL on Windows operating systems. This should only happen if the program has specifically registered itself as a “URL Handler” in the Windows registry. - [moderateCVE-2019-9802: Chrome process information leak]
If a Sandbox content process is compromised, it can initiate an FTP download which will then use a child process to render the downloaded data. The downloaded data can then be passed to the Chrome process with an arbitrary file length supplied by an attacker, bypassing sandbox protections and allow for a potential memory read of adjacent data from the privileged Chrome process, which may include sensitive data. - [moderateCVE-2019-9803: Upgrade-Insecure-Requests incorrectly enforced for same-origin navigation]
The Upgrade-Insecure-Requests (UIR) specification states that if UIR is enabled through Content Security Policy (CSP), navigation to a same-origin URL must be upgraded to HTTPS. Firefox will incorrectly navigate to an HTTP URL rather than perform the security upgrade requested by the CSP in some circumstances, allowing for potential man-in-the-middle attacks on the linked resources. - [moderateCVE-2019-9804: Code execution through ‘Copy as cURL’ in Firefox Developer Tools on macOS]
In Firefox Developer Tools it is possible that pasting the result of the ‘Copy as cURL’ command into a command shell on macOS will cause the execution of unintended additional bash script commands if the URL was maliciously crafted. This is the result of an issue with the native version of Bash on macOS. - [moderateCVE-2019-9805: Potential use of uninitialized memory in Prio]
A latent vulnerability exists in the Prio library where data may be read from uninitialized memory for some functions, leading to potential memory corruption. - [lowCVE-2019-9806: Denial of service through successive FTP authorization prompts]
A vulnerability exists during authorization prompting for FTP transaction where successive modal prompts are displayed and cannot be immediately dismissed. This allows for a denial of service (DOS) attack. - [lowCVE-2019-9807: Text sent through FTP connection can be incorporated into alert messages]
When arbitrary text is sent over an FTP connection and a page reload is initiated, it is possible to create a modal alert message with this text as the content. This could potentially be used for social engineering attacks. - [lowCVE-2019-9809: Denial of service through FTP modal alert error messages]
If the source for resources on a page is through an FTP connection, it is possible to trigger a series of modal alert messages for these resources through invalid credentials or locations. These messages cannot be immediately dismissed, allowing for a denial of service (DOS) attack. - [lowCVE-2019-9808: WebRTC permissions can display incorrect origin with data: and blob: URLs]
If WebRTC permission is requested from documents with data: or blob: URLs, the permission notifications do not properly display the originating domain. The notification states “Unknown origin” as the requestee, leading to user confusion about which site is asking for this permission.
「Firefox 66.0」は、Windows, Mac そして Linux向けがリリースされており、すでにFirefoxがインストールされている場合にはメニュー「Firefoxについて」から、あるいはMozillaWebサイトよりダウンロードいつでもアップデートすることができます。
なお、デスクトップ版Firefox Stableバージョン66.0とともに、Android版も最新バージョン66.0にアップデートされています。
Mozillaは、6〜8週間隔で新しいFirefoxのバージョンをリリースしています。Windows、Mac、Linuxなどのデスクトップ向け次期メジャー・アップデート版「Firefox 67」は現地時間2019年5月14日(火)のリリース予定となっています。