summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/gimp-CVE-2017-17787.patch
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-12-31 13:42:58 -0500
committerLeo Famulari <leo@famulari.name>2017-12-31 13:51:20 -0500
commit2a74f6f7e72c0bc420316d0d7cfb72bdcaedf414 (patch)
treeceae006e75a655a0c5b21d8a20177a927050a7b0 /gnu/packages/patches/gimp-CVE-2017-17787.patch
parentc41fb54f9556ccfa01225fe03765b2cbd6fb611a (diff)
gnu: gimp: Fix CVE-2017-{17784,17785,17786,17787,17789}.
* gnu/packages/patches/gimp-CVE-2017-17784.patch, gnu/packages/patches/gimp-CVE-2017-17785.patch, gnu/packages/patches/gimp-CVE-2017-17786.patch, gnu/packages/patches/gimp-CVE-2017-17787.patch, gnu/packages/patches/gimp-CVE-2017-17789.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/gimp.scm (gimp)[source]: Use them.
Diffstat (limited to 'gnu/packages/patches/gimp-CVE-2017-17787.patch')
-rw-r--r--gnu/packages/patches/gimp-CVE-2017-17787.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/patches/gimp-CVE-2017-17787.patch b/gnu/packages/patches/gimp-CVE-2017-17787.patch
new file mode 100644
index 0000000000..b5310d33d9
--- /dev/null
+++ b/gnu/packages/patches/gimp-CVE-2017-17787.patch
@@ -0,0 +1,42 @@
+Fix CVE-2017-17787:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17787
+https://bugzilla.gnome.org/show_bug.cgi?id=790853
+
+Patch copied from upstream source repository:
+
+https://git.gnome.org/browse/gimp/commit/?id=87ba505fff85989af795f4ab6a047713f4d9381d
+
+From 87ba505fff85989af795f4ab6a047713f4d9381d Mon Sep 17 00:00:00 2001
+From: Jehan <jehan@girinstud.io>
+Date: Thu, 21 Dec 2017 12:49:41 +0100
+Subject: [PATCH] Bug 790853 - (CVE-2017-17787) heap overread in psp importer.
+
+As any external data, we have to check that strings being read at fixed
+length are properly nul-terminated.
+
+(cherry picked from commit eb2980683e6472aff35a3117587c4f814515c74d)
+---
+ plug-ins/common/file-psp.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c
+index 4cbafe37b1..e350e4d88d 100644
+--- a/plug-ins/common/file-psp.c
++++ b/plug-ins/common/file-psp.c
+@@ -890,6 +890,12 @@ read_creator_block (FILE *f,
+ g_free (string);
+ return -1;
+ }
++ if (string[length - 1] != '\0')
++ {
++ g_message ("Creator keyword data not nul-terminated");
++ g_free (string);
++ return -1;
++ }
+ switch (keyword)
+ {
+ case PSP_CRTR_FLD_TITLE:
+--
+2.15.1
+