diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes
index 0f1d6a1..aca5f22 100644
--- a/MozillaFirefox.changes
+++ b/MozillaFirefox.changes
@@ -1,3 +1,26 @@
+-------------------------------------------------------------------
+Thu Jan  4 12:23:41 UTC 2018 - wr@rosenauer.org
+
+- update to Firefox 57.0.4
+  MFSA 2018-1: Speculative execution side-channel attack ("Spectre")
+  (boo#1074723)
+
+-------------------------------------------------------------------
+Wed Jan  3 08:29:38 UTC 2018 - wr@rosenauer.org
+
+- fixed regression introduced Oct 10th which made Firefox crash
+  when cancelling the KDE file dialog (boo#1069962)
+
+-------------------------------------------------------------------
+Fri Dec 29 19:52:34 UTC 2017 - astieger@suse.com
+
+- Mozilla Firefox 57.0.3:
+  * Fix a crash reporting issue that inadvertently sends background
+    tab crash reports to Mozilla without user opt-in (bmo#1427111,
+    bsc#1074235)
+- Includes changes from 57.0.2:
+  * fixes for platforms other than GNU/Linux
+
 -------------------------------------------------------------------
 Fri Dec  8 15:52:17 UTC 2017 - dimstar@opensuse.org
 
diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec
index f2a59dd..2c40fa9 100644
--- a/MozillaFirefox.spec
+++ b/MozillaFirefox.spec
@@ -1,8 +1,8 @@
 #
 # spec file for package MozillaFirefox
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
-#               2006-2017 Wolfgang Rosenauer
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#               2006-2018 Wolfgang Rosenauer
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,10 +19,10 @@
 
 # changed with every update
 %define major 57
-%define mainver %major.0.1
+%define mainver %major.0.4
 %define update_channel release
 %define branding 1
-%define releasedate 20171128222554
+%define releasedate 20180103231032
 
 # PIE, full relro (x86_64 for now)
 %define build_hardened 1
diff --git a/compare-locales.tar.xz b/compare-locales.tar.xz
index 523aa1d..42e3784 100644
--- a/compare-locales.tar.xz
+++ b/compare-locales.tar.xz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:95638b0428327defc038771f48ada721b8073679f1037481d7988513f9713e41
-size 28400
+oid sha256:6441a12de7f0735fd9a2b4580bb7cdccec86b34acda3a8718ce9b0bf39a59ca7
+size 28824
diff --git a/create-tar.sh b/create-tar.sh
index ba8c2ed..c169287 100644
--- a/create-tar.sh
+++ b/create-tar.sh
@@ -7,8 +7,8 @@
 
 CHANNEL="release"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="d2e449c73daca64d8c8185590750873b1cfcd412" # build 2
-VERSION="57.0.1"
+RELEASE_TAG="afa87f9be3a8852da3a30f286b15ae599c7874f6"
+VERSION="57.0.4"
 
 # mozilla
 if [ -d mozilla ]; then
diff --git a/firefox-57.0.1-source.tar.xz b/firefox-57.0.1-source.tar.xz
deleted file mode 100644
index 26aac76..0000000
--- a/firefox-57.0.1-source.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:66085ebf2f9b75f6c18a3478e996ef4dac26329efd7c8d9b5f59276ac51bddf9
-size 267398420
diff --git a/firefox-57.0.4-source.tar.xz b/firefox-57.0.4-source.tar.xz
new file mode 100644
index 0000000..5f55e4c
--- /dev/null
+++ b/firefox-57.0.4-source.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7ab9870937e8683ea435f8cbd4ff52d4e53a263d3ab31e6ba2d6fe61f3aa636c
+size 267408064
diff --git a/l10n-57.0.1.tar.xz b/l10n-57.0.1.tar.xz
deleted file mode 100644
index f8d58d4..0000000
--- a/l10n-57.0.1.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d601bf69518e67d0ee99b0c7793892cb46b6a04f9553beb1e5db02586664b0fb
-size 47587380
diff --git a/l10n-57.0.4.tar.xz b/l10n-57.0.4.tar.xz
new file mode 100644
index 0000000..d343c9d
--- /dev/null
+++ b/l10n-57.0.4.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:82bdb63b072ba7544f985bf331d3156b2c3b6a7a62d4dae4c024007ed7f2fc76
+size 51599812
diff --git a/mozilla-kde.patch b/mozilla-kde.patch
index 4aec68b..771fd0b 100644
--- a/mozilla-kde.patch
+++ b/mozilla-kde.patch
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  87a32e5d11e9d652e331a5f852bb951069b20c4a
+# Parent  2504512f9a9ba7b52dd99745d15f049f2a03f4f4
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -3275,7 +3275,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  
    mFilters.AppendElement(filter);
    mFilterNames.AppendElement(name);
-@@ -371,16 +375,37 @@ nsFilePicker::Show(int16_t *aReturn)
+@@ -371,16 +375,39 @@ nsFilePicker::Show(int16_t *aReturn)
  
  NS_IMETHODIMP
  nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
@@ -3288,6 +3288,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 +  if( nsKDEUtils::kdeSupport()) {
 +    mCallback = aCallback;
 +    mRunning = true;
++    NS_ADDREF_THIS();
 +    g_idle_add([](gpointer data) -> gboolean {
 +      nsFilePicker* queuedPicker = (nsFilePicker*) data;
 +      int16_t result;
@@ -3299,6 +3300,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 +        queuedPicker->mResult = result;
 +      }
 +      queuedPicker->mRunning = false;
++      NS_RELEASE(queuedPicker);
 +      return G_SOURCE_REMOVE;
 +    }, this);
 +
@@ -3313,7 +3315,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  
-@@ -603,8 +628,233 @@ nsFilePicker::Done(GtkWidget* file_choos
+@@ -603,8 +630,233 @@ nsFilePicker::Done(GtkWidget* file_choos
    if (mCallback) {
      mCallback->Done(result);
      mCallback = nullptr;
diff --git a/source-stamp.txt b/source-stamp.txt
index 0729bee..f9db87a 100644
--- a/source-stamp.txt
+++ b/source-stamp.txt
@@ -1,2 +1,2 @@
-REV=d2e449c73dac
+REV=afa87f9be3a8
 REPO=http://hg.mozilla.org/releases/mozilla-release