summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch')
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
new file mode 100644
index 0000000000..37ad5808f5
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
@@ -0,0 +1,59 @@
1From d8f8f4d637ce43f8699ba94c9b7648beda0ca174 Mon Sep 17 00:00:00 2001
2From: Ondrej Holy <oholy@redhat.com>
3Date: Thu, 23 May 2019 10:41:53 +0200
4Subject: [PATCH] gfile: Limit access to files when copying
5
6file_copy_fallback creates new files with default permissions and
7set the correct permissions after the operation is finished. This
8might cause that the files can be accessible by more users during
9the operation than expected. Use G_FILE_CREATE_PRIVATE for the new
10files to limit access to those files.
11
12Upstream-Status: Backport
13https://gitlab.gnome.org/GNOME/glib/commit/d8f8f4d637ce43f8699ba94c9b7648beda0ca174
14CVE: CVE-2019-12450
15Signed-off-by: Armin kuster <akuster@mvista.com>
16
17---
18 gio/gfile.c | 11 ++++++-----
19 1 file changed, 6 insertions(+), 5 deletions(-)
20
21diff --git a/gio/gfile.c b/gio/gfile.c
22index 24b136d..74b5804 100644
23--- a/gio/gfile.c
24+++ b/gio/gfile.c
25@@ -3284,12 +3284,12 @@ file_copy_fallback (GFile *source,
26 out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
27 FALSE, NULL,
28 flags & G_FILE_COPY_BACKUP,
29- G_FILE_CREATE_REPLACE_DESTINATION,
30- info,
31+ G_FILE_CREATE_REPLACE_DESTINATION |
32+ G_FILE_CREATE_PRIVATE, info,
33 cancellable, error);
34 else
35 out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
36- FALSE, 0, info,
37+ FALSE, G_FILE_CREATE_PRIVATE, info,
38 cancellable, error);
39 }
40 else if (flags & G_FILE_COPY_OVERWRITE)
41@@ -3297,12 +3297,13 @@ file_copy_fallback (GFile *source,
42 out = (GOutputStream *)g_file_replace (destination,
43 NULL,
44 flags & G_FILE_COPY_BACKUP,
45- G_FILE_CREATE_REPLACE_DESTINATION,
46+ G_FILE_CREATE_REPLACE_DESTINATION |
47+ G_FILE_CREATE_PRIVATE,
48 cancellable, error);
49 }
50 else
51 {
52- out = (GOutputStream *)g_file_create (destination, 0, cancellable, error);
53+ out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error);
54 }
55
56 if (!out)
57--
582.7.4
59