summary refs log tree commit diff
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)
downloadguix-2a74f6f7e72c0bc420316d0d7cfb72bdcaedf414.tar.gz
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
+