[spice-gtk/f17] Add patch fixing CVE 2012-4425
Christophe Fergeau
teuf at fedoraproject.org
Fri Sep 14 09:42:34 UTC 2012
commit e383f1ce2c799b29ce95a1477059fff1d70e31f0
Author: Christophe Fergeau <cfergeau at redhat.com>
Date: Fri Sep 14 11:09:09 2012 +0200
Add patch fixing CVE 2012-4425
0003-CVE-2012-4425.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++++
spice-gtk.spec | 11 +++++++-
2 files changed, 70 insertions(+), 1 deletions(-)
---
diff --git a/0003-CVE-2012-4425.patch b/0003-CVE-2012-4425.patch
new file mode 100644
index 0000000..ba9b26d
--- /dev/null
+++ b/0003-CVE-2012-4425.patch
@@ -0,0 +1,60 @@
+diff --git a/configure.ac b/configure.ac
+index 3841c56..b2defd3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -243,6 +243,8 @@ else
+ EXTERNAL_PNP_IDS="$with_pnp_ids_path"
+ fi
+
++AC_CHECK_FUNCS(clearenv)
++
+ PKG_CHECK_MODULES(GLIB2, glib-2.0 >= 2.22)
+ AC_SUBST(GLIB2_CFLAGS)
+ AC_SUBST(GLIB2_LIBS)
+diff --git a/gtk/spice-client-glib-usb-acl-helper.c b/gtk/spice-client-glib-usb-acl-helper.c
+index 724d62a..93b9b3a 100644
+--- a/gtk/spice-client-glib-usb-acl-helper.c
++++ b/gtk/spice-client-glib-usb-acl-helper.c
+@@ -158,7 +158,8 @@ static void cleanup(void)
+ if (state == STATE_WAITING_FOR_STDIN_EOF)
+ set_facl(path, getuid(), 0);
+
+- g_main_loop_quit(loop);
++ if (loop)
++ g_main_loop_quit(loop);
+ }
+
+ /* Not available in polkit < 0.101 */
+@@ -311,11 +312,32 @@ polkit_authority_get_sync (GCancellable *cancellable, GError **error)
+ }
+ #endif
+
++#ifndef HAVE_CLEARENV
++extern char **environ;
++
++static int
++clearenv (void)
++{
++ if (environ != NULL)
++ environ[0] = NULL;
++ return 0;
++}
++#endif
++
+ int main(void)
+ {
+ pid_t parent_pid;
+ GInputStream *stdin_unix_stream;
+
++ /* Nuke the environment to get a well-known and sanitized
++ * environment to avoid attacks via e.g. the DBUS_SYSTEM_BUS_ADDRESS
++ * environment variable and similar.
++ */
++ if (clearenv () != 0) {
++ FATAL_ERROR("Error clearing environment: %s\n", g_strerror (errno));
++ return 1;
++ }
++
+ g_type_init();
+
+ loop = g_main_loop_new(NULL, FALSE);
diff --git a/spice-gtk.spec b/spice-gtk.spec
index 8f3a7f4..5beaa75 100644
--- a/spice-gtk.spec
+++ b/spice-gtk.spec
@@ -13,7 +13,7 @@
Name: spice-gtk
Version: 0.12
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: A GTK+ widget for SPICE clients
Group: System Environment/Libraries
@@ -22,6 +22,7 @@ URL: http://spice-space.org/page/Spice-Gtk
Source0: http://www.spice-space.org/download/gtk/%{name}-%{version}%{?_version_suffix}.tar.bz2
Patch1: 0001-Fix-parsing-URI-query.patch
Patch2: 0002-python-fix-Spice.Audio-binding.patch
+Patch3: 0003-CVE-2012-4425.patch
BuildRequires: intltool
BuildRequires: gtk2-devel >= 2.14
@@ -49,6 +50,8 @@ BuildRequires: pyparsing
BuildRequires: spice-protocol
# Hack because of bz #613466
BuildRequires: libtool
+# For patch #3
+BuildRequires: autoconf automake
Requires: spice-glib%{?_isa} = %{version}-%{release}
%description
@@ -150,6 +153,9 @@ fi
pushd spice-gtk-%{version}
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+# Patch 3 changes configure.ac
+autoreconf -fi
popd
%if %{with_gtk3}
@@ -262,6 +268,9 @@ rm -f %{buildroot}%{_libdir}/python*/site-packages/*.la
%{_bindir}/spicy-stats
%changelog
+* Fri Sep 14 2012 Christophe Fergeau <cfergeau at redhat.com> - 0.12-5
+- Add patch fixing CVE 2012-4425
+
* Tue May 15 2012 Marc-André Lureau <marcandre.lureau at redhat.com> - 0.12-4
- re-Add back spice-protocol BuildRequires to help some deps magic happen
More information about the scm-commits
mailing list