diff -Nru glib2.0-2.56.4/debian/changelog glib2.0-2.56.4/debian/changelog --- glib2.0-2.56.4/debian/changelog 2019-03-22 12:17:34.000000000 +0000 +++ glib2.0-2.56.4/debian/changelog 2019-06-05 16:47:02.000000000 +0000 @@ -1,3 +1,12 @@ +glib2.0 (2.56.4-0ubuntu0.18.04.3) bionic-security; urgency=medium + + * SECURITY UPDATE: Less restrictive permissions during copying + - debian/patches/CVE-2019-12450.patch: limit access to file when + copying in file_copy_fallback in file gio/gfile.c. + - CVE-2019-12450 + + -- Leonidas S. Barbosa Wed, 05 Jun 2019 13:47:02 -0300 + glib2.0 (2.56.4-0ubuntu0.18.04.2) bionic; urgency=medium * Backport upstream patches to fix GVariant alignment tests diff -Nru glib2.0-2.56.4/debian/patches/CVE-2019-12450.patch glib2.0-2.56.4/debian/patches/CVE-2019-12450.patch --- glib2.0-2.56.4/debian/patches/CVE-2019-12450.patch 1970-01-01 00:00:00.000000000 +0000 +++ glib2.0-2.56.4/debian/patches/CVE-2019-12450.patch 2019-06-05 16:46:56.000000000 +0000 @@ -0,0 +1,50 @@ +From d8f8f4d637ce43f8699ba94c9b7648beda0ca174 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Thu, 23 May 2019 10:41:53 +0200 +Subject: [PATCH] gfile: Limit access to files when copying + +file_copy_fallback creates new files with default permissions and +set the correct permissions after the operation is finished. This +might cause that the files can be accessible by more users during +the operation than expected. Use G_FILE_CREATE_PRIVATE for the new +files to limit access to those files. +--- + gio/gfile.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +Index: glib2.0-2.56.4/gio/gfile.c +=================================================================== +--- glib2.0-2.56.4.orig/gio/gfile.c ++++ glib2.0-2.56.4/gio/gfile.c +@@ -3279,12 +3279,12 @@ file_copy_fallback (GFile + out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)), + FALSE, NULL, + flags & G_FILE_COPY_BACKUP, +- G_FILE_CREATE_REPLACE_DESTINATION, +- info, ++ G_FILE_CREATE_REPLACE_DESTINATION | ++ G_FILE_CREATE_PRIVATE, info, + cancellable, error); + else + out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)), +- FALSE, 0, info, ++ FALSE, G_FILE_CREATE_PRIVATE, info, + cancellable, error); + } + else if (flags & G_FILE_COPY_OVERWRITE) +@@ -3292,12 +3292,13 @@ file_copy_fallback (GFile + out = (GOutputStream *)g_file_replace (destination, + NULL, + flags & G_FILE_COPY_BACKUP, +- G_FILE_CREATE_REPLACE_DESTINATION, ++ G_FILE_CREATE_REPLACE_DESTINATION | ++ G_FILE_CREATE_PRIVATE, + cancellable, error); + } + else + { +- out = (GOutputStream *)g_file_create (destination, 0, cancellable, error); ++ out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error); + } + + if (!out) diff -Nru glib2.0-2.56.4/debian/patches/series glib2.0-2.56.4/debian/patches/series --- glib2.0-2.56.4/debian/patches/series 2019-03-22 12:17:34.000000000 +0000 +++ glib2.0-2.56.4/debian/patches/series 2019-06-05 16:46:52.000000000 +0000 @@ -19,3 +19,4 @@ exp_git_default_per_desktop2.patch exp_git_default_per_desktop3.patch exp_git_default_per_desktop4.patch +CVE-2019-12450.patch