guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: libexif: Fix CVE-2017-7544.


From: Leo Famulari
Subject: 01/01: gnu: libexif: Fix CVE-2017-7544.
Date: Thu, 21 Dec 2017 03:25:11 -0500 (EST)

lfam pushed a commit to branch master
in repository guix.

commit ce16d312c6fc4d23dcf45b73709712b56d6d2174
Author: Leo Famulari <address@hidden>
Date:   Thu Dec 21 02:55:44 2017 -0500

    gnu: libexif: Fix CVE-2017-7544.
    
    * gnu/packages/patches/libexif-CVE-2017-7544.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add it.
    * gnu/packages/photo.scm (feh)[source]: Use it.
---
 gnu/local.mk                                     |  1 +
 gnu/packages/patches/libexif-CVE-2017-7544.patch | 29 ++++++++++++++++++++++++
 gnu/packages/photo.scm                           |  2 ++
 3 files changed, 32 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 88e3c77..dcb08c1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -805,6 +805,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch     
\
   %D%/packages/patches/libevent-2.1-dns-tests.patch            \
   %D%/packages/patches/libevent-2.1-skip-failing-test.patch    \
+  %D%/packages/patches/libexif-CVE-2017-7544.patch             \
   %D%/packages/patches/libgit2-0.25.1-mtime-0.patch            \
   %D%/packages/patches/libgdata-fix-tests.patch                        \
   %D%/packages/patches/libgdata-glib-duplicate-tests.patch     \
diff --git a/gnu/packages/patches/libexif-CVE-2017-7544.patch 
b/gnu/packages/patches/libexif-CVE-2017-7544.patch
new file mode 100644
index 0000000..c4ea373
--- /dev/null
+++ b/gnu/packages/patches/libexif-CVE-2017-7544.patch
@@ -0,0 +1,29 @@
+Fix CVE-2017-7544:
+
+https://sourceforge.net/p/libexif/bugs/130/
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7544
+
+Patch copied from upstream bug tracker:
+
+https://sourceforge.net/p/libexif/bugs/130/#489a
+
+Index: libexif/exif-data.c
+===================================================================
+RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v
+retrieving revision 1.131
+diff -u -r1.131 exif-data.c
+--- a/libexif/exif-data.c      12 Jul 2012 17:28:26 -0000      1.131
++++ b/libexif/exif-data.c      25 Jul 2017 21:34:06 -0000
+@@ -255,6 +255,12 @@
+                       exif_mnote_data_set_offset (data->priv->md, *ds - 6);
+                       exif_mnote_data_save (data->priv->md, &e->data, 
&e->size);
+                       e->components = e->size;
++                      if (exif_format_get_size (e->format) != 1) {
++                              /* e->format is taken from input code,
++                               * but we need to make sure it is a 1 byte
++                               * entity due to the multiplication below. */
++                              e->format = EXIF_FORMAT_UNDEFINED;
++                      }
+               }
+       }
+ 
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 34a2180..40f3a4e 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -28,6 +28,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
+  #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
@@ -89,6 +90,7 @@ cameras (CRW/CR2, NEF, RAF, DNG, and others).")
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/libexif/libexif/"
                                   version "/libexif-" version ".tar.bz2"))
+              (patches (search-patches "libexif-CVE-2017-7544.patch"))
               (sha256
                (base32
                 "06nlsibr3ylfwp28w8f5466l6drgrnydgxrm4jmxzrmk5svaxk8n"))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]