Control: tags -1 + d-i On Fri, 19 Jul 2024 at 12:29:05 +0100, Simon McVittie wrote: > [ Reason ] > CVE-2024-6655. The security team has indicated that they do not intend > to release a DSA for this vulnerability. > > [ Impact ] > If not fixed, GTK 2 apps will load modules specified in $GTK_MODULES from > the current working directory, which could be an exploitable vulnerability > if a GTK 2 app is run from /tmp or a similarly attacker-controlled > directory.
Sorry, I should have remembered that because GTK 2 is used in the graphical installer, this update will require a d-i ack. (Full text and diff quoted below.) I have not yet attempted to build a new installer image with the proposed GTK. Perhaps someone who knows how to operate branch2repo could trigger that? Thanks, smcv > [ Tests ] > In the GTK 2 currently in bookworm, running e.g. > `GTK_MODULES=gail:atk-bridge:foobar strace -efile gtk-demo` shows signs of > attempting to load ./libfoobar.so: > > newfstatat(AT_FDCWD, "libfoobar.so", 0x7ffefb821f70, 0) = -1 ENOENT (No such > file or directory) > newfstatat(AT_FDCWD, "libfoobar.so.so", 0x7ffefb821f70, 0) = -1 ENOENT (No > such file or directory) > newfstatat(AT_FDCWD, "libfoobar.so.la", 0x7ffefb821f70, 0) = -1 ENOENT (No > such file or directory) > > In the proposed version, this no longer happens. > > (gtk-demo is a sample GTK 2 application, from gtk2.0-examples.) > > [ Risks ] > Low risk, straightforward backport of a targeted security fix. > > [ Checklist ] > [x] *all* changes are documented in the d/changelog > [x] I reviewed all changes and I approve them > [x] attach debdiff against the package in (old)stable > [x] the issue is verified as fixed in unstable > > [ Changes ] > d/patches: The vulnerability fix. > > d/control, d/gbp.conf: Package release administrivia. > diffstat for gtk+2.0-2.24.33 gtk+2.0-2.24.33 > > debian/changelog | 11 +++++++++++ > debian/control | 2 +- > debian/control.in | 4 ++-- > debian/gbp.conf | 2 +- > debian/patches/CVE-2024-6655.patch | 35 +++++++++++++++++++++++++++++++++++ > debian/patches/series | 1 + > gtk/gtkmodules.c | 9 ++------- > 7 files changed, 53 insertions(+), 11 deletions(-) > > diff -Nru gtk+2.0-2.24.33/debian/changelog gtk+2.0-2.24.33/debian/changelog > --- gtk+2.0-2.24.33/debian/changelog 2021-05-19 17:13:33.000000000 +0100 > +++ gtk+2.0-2.24.33/debian/changelog 2024-07-19 11:57:02.000000000 +0100 > @@ -1,3 +1,14 @@ > +gtk+2.0 (2.24.33-2+deb12u1) bookworm; urgency=medium > + > + * Team upload > + * d/control.in, d/gbp.conf: Set packaging branch for Debian 12 updates > + * d/control.in: Freeze previous Uploaders > + * d/p/CVE-2024-6655.patch: > + Add patch backported from 3.24.43 to avoid looking for modules in > + current working directory (CVE-2024-6655) > + > + -- Simon McVittie <s...@debian.org> Fri, 19 Jul 2024 11:57:02 +0100 > + > gtk+2.0 (2.24.33-2) unstable; urgency=medium > > * Team upload > diff -Nru gtk+2.0-2.24.33/debian/control gtk+2.0-2.24.33/debian/control > --- gtk+2.0-2.24.33/debian/control 2021-05-19 17:13:33.000000000 +0100 > +++ gtk+2.0-2.24.33/debian/control 2024-07-19 11:57:02.000000000 +0100 > @@ -50,7 +50,7 @@ > Rules-Requires-Root: no > Standards-Version: 4.5.1 > Vcs-Browser: https://salsa.debian.org/gnome-team/gtk2 > -Vcs-Git: https://salsa.debian.org/gnome-team/gtk2.git > +Vcs-Git: https://salsa.debian.org/gnome-team/gtk2.git -b debian/bookworm > Homepage: http://www.gtk.org/ > > Package: libgtk2.0-0 > diff -Nru gtk+2.0-2.24.33/debian/control.in gtk+2.0-2.24.33/debian/control.in > --- gtk+2.0-2.24.33/debian/control.in 2021-05-19 17:13:33.000000000 +0100 > +++ gtk+2.0-2.24.33/debian/control.in 2024-07-19 11:57:02.000000000 +0100 > @@ -2,7 +2,7 @@ > Section: libs > Priority: optional > Maintainer: Debian GNOME Maintainers > <pkg-gnome-maintain...@lists.alioth.debian.org> > -Uploaders: @GNOME_TEAM@ > +Uploaders: Emilio Pozuelo Monfort <po...@debian.org>, Jeremy Bicha > <jbi...@debian.org> > Build-Depends: debhelper-compat (= 12), > dh-python, > gettext, > @@ -50,7 +50,7 @@ > Rules-Requires-Root: no > Standards-Version: 4.5.1 > Vcs-Browser: https://salsa.debian.org/gnome-team/gtk2 > -Vcs-Git: https://salsa.debian.org/gnome-team/gtk2.git > +Vcs-Git: https://salsa.debian.org/gnome-team/gtk2.git -b debian/bookworm > Homepage: http://www.gtk.org/ > > Package: @SHARED_PKG@ > diff -Nru gtk+2.0-2.24.33/debian/gbp.conf gtk+2.0-2.24.33/debian/gbp.conf > --- gtk+2.0-2.24.33/debian/gbp.conf 2021-05-19 17:13:33.000000000 +0100 > +++ gtk+2.0-2.24.33/debian/gbp.conf 2024-07-19 11:57:02.000000000 +0100 > @@ -1,5 +1,5 @@ > [DEFAULT] > pristine-tar = True > -debian-branch = debian/master > +debian-branch = debian/bookworm > upstream-branch = upstream/latest > upstream-vcs-tag = %(version)s > diff -Nru gtk+2.0-2.24.33/debian/patches/CVE-2024-6655.patch > gtk+2.0-2.24.33/debian/patches/CVE-2024-6655.patch > --- gtk+2.0-2.24.33/debian/patches/CVE-2024-6655.patch 1970-01-01 > 01:00:00.000000000 +0100 > +++ gtk+2.0-2.24.33/debian/patches/CVE-2024-6655.patch 2024-07-19 > 11:57:02.000000000 +0100 > @@ -0,0 +1,35 @@ > +From: Matthias Clasen <mcla...@redhat.com> > +Date: Sat, 15 Jun 2024 14:18:01 -0400 > +Subject: Stop looking for modules in cwd > + > +This is just not a good idea. It is surprising, and can be misused. > + > +(cherry picked from commit 3bbf0b6176d42836d23c36a6ac410e807ec0a7a7) > + > +Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/6786 > +Bug-CVE: CVE-2024-6655 > +Origin: upstream, 3.24.43, > commit:https://gitlab.gnome.org/GNOME/gtk/-/commit/3bbf0b6176d42836d23c36a6ac410e807ec0a7a7 > +--- > + gtk/gtkmodules.c | 9 ++------- > + 1 file changed, 2 insertions(+), 7 deletions(-) > + > +diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c > +index 7877557..64efd91 100644 > +--- a/gtk/gtkmodules.c > ++++ b/gtk/gtkmodules.c > +@@ -232,13 +232,8 @@ find_module (const gchar *name) > + gchar *module_name; > + > + module_name = _gtk_find_module (name, "modules"); > +- if (!module_name) > +- { > +- /* As last resort, try loading without an absolute path (using system > +- * library path) > +- */ > +- module_name = g_module_build_path (NULL, name); > +- } > ++ if (module_name == NULL) > ++ return NULL; > + > + module = g_module_open (module_name, G_MODULE_BIND_LOCAL | > G_MODULE_BIND_LAZY); > + > diff -Nru gtk+2.0-2.24.33/debian/patches/series > gtk+2.0-2.24.33/debian/patches/series > --- gtk+2.0-2.24.33/debian/patches/series 2021-05-19 17:13:33.000000000 > +0100 > +++ gtk+2.0-2.24.33/debian/patches/series 2024-07-19 11:57:02.000000000 > +0100 > @@ -8,3 +8,4 @@ > 098_multiarch_module_path.patch > Reinstate-marshallers-that-accidentally-became-part-of-th.patch > d-i/textlayout-Clamp-width-to-the-value-we-asked-for-as-a-hac.patch > +CVE-2024-6655.patch > diff -Nru gtk+2.0-2.24.33/gtk/gtkmodules.c gtk+2.0-2.24.33/gtk/gtkmodules.c > --- gtk+2.0-2.24.33/gtk/gtkmodules.c 2024-07-19 12:26:39.000000000 +0100 > +++ gtk+2.0-2.24.33/gtk/gtkmodules.c 2024-07-19 12:26:40.000000000 +0100 > @@ -232,13 +232,8 @@ > gchar *module_name; > > module_name = _gtk_find_module (name, "modules"); > - if (!module_name) > - { > - /* As last resort, try loading without an absolute path (using system > - * library path) > - */ > - module_name = g_module_build_path (NULL, name); > - } > + if (module_name == NULL) > + return NULL; > > module = g_module_open (module_name, G_MODULE_BIND_LOCAL | > G_MODULE_BIND_LAZY); >