From 9973a266abf266c40f7f1082a917904ece459d53 Mon Sep 17 00:00:00 2001 From: Matthew Harm Bekkema Date: Sat, 3 Nov 2018 22:51:36 +1100 Subject: [PATCH 1/3] firefox-esr-60: 60.2.2 -> 60.3.0 [critical security fixes] This update bumps the package to the latest stable version containing a few security fixes: - CVE-2018-12392: Crash with nested event loops When manipulating user events in nested loops while opening a document through script, it is possible to trigger a potentially exploitable crash due to poor event handling. - CVE-2018-12393: Integer overflow during Unicode conversion while loading JavaScript A potential vulnerability was found in 32-bit builds where an integer overflow during the conversion of scripts to an internal UTF-16 representation could result in allocating a buffer too small for the conversion. This leads to a possible out-of-bounds write. Note: 64-bit builds are not vulnerable to this issue. - CVE-2018-12395: WebExtension bypass of domain restrictions through header rewriting By rewriting the Host request headers using the webRequest API, a WebExtension can bypass domain restrictions through domain fronting. This would allow access to domains that share a host that are otherwise restricted. - CVE-2018-12396: WebExtension content scripts can execute in disallowed contexts A vulnerability where a WebExtension can run content scripts in disallowed contexts following navigation or other events. This allows for potential privilege escalation by the WebExtension on sites where content scripts should not be run. - CVE-2018-12397: Missing warning prompt when WebExtension requests local file access A WebExtension can request access to local files without the warning prompt stating that the extension will "Access your data for all websites" being displayed to the user. This allows extensions to run content scripts in local pages without permission warnings when a local file is opened. - CVE-2018-12389: Memory safety bugs fixed in Firefox ESR 60.3 Mozilla developers and community members Daniel Veditz and Philipp reported memory safety bugs present in Firefox ESR 60.2. 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. - CVE-2018-12390: Memory safety bugs fixed in Firefox 63 and Firefox ESR 60.3 Mozilla developers and community members Christian Holler, Bob Owen, Boris Zbarsky, Calixte Denizet, Jason Kratzer, Jed Davis, Taegeon Lee, Philipp, Ronald Crane, Raul Gurzau, Gary Kwong, Tyson Smith, Raymond Forbes, and Bogdan Tara reported memory safety bugs present in Firefox 62 and Firefox ESR 60.2. 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. Source: https://www.mozilla.org/en-US/security/advisories/mfsa2018-27/ --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 102b0de3fcc..c338f9981ef 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -70,10 +70,10 @@ rec { firefox-esr-60 = common rec { pname = "firefox-esr"; - ffversion = "60.2.2esr"; + ffversion = "60.3.0esr"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; - sha512 = "2h2naaxx4lv90bjpcrsma4sdhl4mvsisx3zi09vakjwv2lad91gy41cmcpqprpcbsmlvpqf8yiv52ah4d02a8d9335xhw2ajw6asjc1"; + sha512 = "36ipksq4408mfkyzna7kkjyg70nqx0hzg8zp34kmsynl42whvsqhsfl198c34shsx9zhfsag3hzx2ihhfnj8ph8b0xdgyrmi2ijbvbx"; }; patches = nixpkgsPatches ++ [ From c8d45086d17954c6ebe177b515bc1950140f92ee Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Wed, 7 Nov 2018 13:21:17 +0100 Subject: [PATCH 2/3] firefox-esr-60: drop skia patch on aarch64 --- .../applications/networking/browsers/firefox/packages.nix | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index c338f9981ef..87bc770415c 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -8,12 +8,6 @@ let ./env_var_for_system_dir.patch ]; - firefox60_aarch64_skia_patch = fetchpatch { - name = "aarch64-skia.patch"; - url = https://src.fedoraproject.org/rpms/firefox/raw/8cff86d95da3190272d1beddd45b41de3148f8ef/f/build-aarch64-skia.patch; - sha256 = "11acb0ms4jrswp7268nm2p8g8l4lv8zc666a5bqjbb09x9k6b78k"; - }; - in rec { @@ -82,7 +76,7 @@ rec { # this one is actually an omnipresent bug # https://bugzilla.mozilla.org/show_bug.cgi?id=1444519 ./fix-pa-context-connect-retval.patch - ] ++ lib.optional stdenv.isAarch64 firefox60_aarch64_skia_patch; + ]; meta = firefox.meta // { description = "A web browser built from Firefox Extended Support Release source tree"; From 551ef1ac41bd14b43f97ec5226cac4f13432df52 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Tue, 11 Sep 2018 10:12:06 +0200 Subject: [PATCH 3/3] firefox: provide clang configure flags on i686 With the upgrade to firefox 62 clang flags are now required on i686. (cherry picked from commit acf4a4eff315a52d8f9c944a167ecb373bc1fdf9) --- pkgs/applications/networking/browsers/firefox/common.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 16c9b548325..f900b1b69cf 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -196,8 +196,7 @@ stdenv.mkDerivation rec { ] ++ lib.optional (stdenv.isDarwin && lib.versionAtLeast ffversion "61") "--disable-xcode-checks" ++ lib.optional (lib.versionOlder ffversion "61") "--enable-system-hunspell" - ++ lib.optionals (lib.versionAtLeast ffversion "56" && !stdenv.hostPlatform.isi686) [ - # on i686-linux: --with-libclang-path is not available in this configuration + ++ lib.optionals (lib.versionAtLeast ffversion "56") [ "--with-libclang-path=${llvmPackages.libclang}/lib" "--with-clang-path=${llvmPackages.clang}/bin/clang" ]