gnome-base/nautilus: fix CVE-2019-11461
authorMart Raudsepp <leio@gentoo.org>
Fri, 23 Aug 2019 20:57:09 +0000 (23:57 +0300)
committerMart Raudsepp <leio@gentoo.org>
Fri, 23 Aug 2019 20:57:09 +0000 (23:57 +0300)
Bug: https://bugs.gentoo.org/692784
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
gnome-base/nautilus/files/3.30.5-CVE-2019-11461.patch [new file with mode: 0644]
gnome-base/nautilus/nautilus-3.30.5-r1.ebuild [new file with mode: 0644]

diff --git a/gnome-base/nautilus/files/3.30.5-CVE-2019-11461.patch b/gnome-base/nautilus/files/3.30.5-CVE-2019-11461.patch
new file mode 100644 (file)
index 0000000..6c2d061
--- /dev/null
@@ -0,0 +1,30 @@
+From 83949ed5800ec99953f5ee8d2bf8b90a69daa850 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@igalia.com>
+Date: Sat, 13 Apr 2019 13:57:36 -0500
+Subject: [PATCH] thumbnailer: fix incomplete TIOCSTI filtering
+
+Fixes #112
+
+See also: https://github.com/flatpak/flatpak/issues/2782
+---
+ libgnome-desktop/gnome-desktop-thumbnail-script.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+leio: Adjusted to apply to nautilus copy
+
+diff --git a/libgnome-desktop/gnome-desktop-thumbnail-script.c b/libgnome-desktop/gnome-desktop-thumbnail-script.c
+index 9468b51c..3b3d1ea9 100644
+--- a/src/gnome-desktop/gnome-desktop-thumbnail-script.c
++++ b/src/gnome-desktop/gnome-desktop-thumbnail-script.c
+@@ -343,7 +343,7 @@ setup_seccomp (GPtrArray  *argv_array,
+     {SCMP_SYS (clone), &SCMP_A0 (SCMP_CMP_MASKED_EQ, CLONE_NEWUSER, CLONE_NEWUSER)},
+     /* Don't allow faking input to the controlling tty (CVE-2017-5226) */
+-    {SCMP_SYS (ioctl), &SCMP_A1(SCMP_CMP_EQ, (int)TIOCSTI)},
++    {SCMP_SYS (ioctl), &SCMP_A1(SCMP_CMP_MASKED_EQ, 0xFFFFFFFFu, (int)TIOCSTI)},
+   };
+   struct
+-- 
+2.20.1
+
diff --git a/gnome-base/nautilus/nautilus-3.30.5-r1.ebuild b/gnome-base/nautilus/nautilus-3.30.5-r1.ebuild
new file mode 100644 (file)
index 0000000..3601899
--- /dev/null
@@ -0,0 +1,106 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome.org gnome2-utils meson readme.gentoo-r1 virtualx xdg
+
+DESCRIPTION="Default file manager for the GNOME desktop"
+HOMEPAGE="https://wiki.gnome.org/Apps/Nautilus"
+
+LICENSE="GPL-3+ LGPL-2.1+"
+SLOT="0"
+IUSE="gnome gtk-doc +introspection packagekit +previewer seccomp selinux sendto"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+COMMON_DEPEND="
+       >=dev-libs/glib-2.55.1:2
+       >=media-libs/gexiv2-0.10.0
+       >=app-arch/gnome-autoar-0.2.1
+       gnome-base/gsettings-desktop-schemas
+       >=x11-libs/gtk+-3.22.27:3[X,introspection?]
+       seccomp? ( sys-libs/libseccomp )
+       >=x11-libs/pango-1.28.3
+       selinux? ( >=sys-libs/libselinux-2.0 )
+       >=app-misc/tracker-2.0:=
+       x11-libs/libX11
+       >=dev-libs/libxml2-2.7.8:2
+       introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${COMMON_DEPEND}
+       >=dev-util/gdbus-codegen-2.51.2
+       dev-util/glib-utils
+       gtk-doc? (
+               >=dev-util/gtk-doc-1.10
+               app-text/docbook-xml-dtd:4.1.2 )
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+       x11-base/xorg-proto
+"
+RDEPEND="${COMMON_DEPEND}
+       packagekit? ( app-admin/packagekit-base )
+       seccomp? ( >=sys-apps/bubblewrap-0.3.1 )
+       sendto? ( !<gnome-extra/nautilus-sendto-3.0.1 )
+"
+
+PDEPEND="
+       gnome? ( x11-themes/adwaita-icon-theme )
+       previewer? ( >=gnome-extra/sushi-0.1.9 )
+       sendto? ( >=gnome-extra/nautilus-sendto-3.0.1 )
+       >=gnome-base/gvfs-1.14[gtk(+)]
+" # Need gvfs[gtk] for recent:/// support; always built (without USE=gtk) since gvfs-1.34
+
+PATCHES=(
+       "${FILESDIR}"/${PV}-docs-build.patch # Always install pregenerated manpage, keeping docs option for gtk-doc
+       "${FILESDIR}"/${PV}-thumbnailer-updates{,2}.patch # syncs with gnome-desktop; fixes the ld.so.cache for us
+       "${FILESDIR}"/${PV}-seccomp-sparc32.patch # 32-bit sparc doesn't have seccomp either
+       "${FILESDIR}"/${PV}-CVE-2019-11461.patch
+)
+
+src_prepare() {
+       if use previewer; then
+               DOC_CONTENTS="nautilus uses gnome-extra/sushi to preview media files.
+                       To activate the previewer, select a file and press space; to
+                       close the previewer, press space again."
+       fi
+       xdg_src_prepare
+}
+
+src_configure() {
+       local emesonargs=(
+               $(meson_use gtk-doc docs)
+               -Dextensions=true # image file properties, sendto support
+               $(meson_use introspection)
+               $(meson_use packagekit)
+               $(meson_use selinux)
+               -Dprofiling=false
+               -Dtests=$(usex test all none)
+       )
+       meson_src_configure
+}
+
+src_install() {
+       use previewer && readme.gentoo_create_doc
+       meson_src_install
+}
+
+src_test() {
+       virtx meson_src_test
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       gnome2_schemas_update
+
+       if use previewer; then
+               readme.gentoo_print_elog
+       else
+               elog "To preview media files, emerge nautilus with USE=previewer"
+       fi
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+       gnome2_schemas_update
+}