[oe-commits] Baogen Shang : libtiff: CVE-2013-4243

git at git.openembedded.org git at git.openembedded.org
Thu Dec 12 22:26:35 UTC 2013


Module: openembedded-core.git
Branch: dylan
Commit: 95f9889ac7e2731e3fb67f4b9db4bb634dd2a894
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=95f9889ac7e2731e3fb67f4b9db4bb634dd2a894

Author: Baogen Shang <baogen.shang at windriver.com>
Date:   Mon Oct 21 11:03:41 2013 +0800

libtiff: CVE-2013-4243

cve description:
Heap-based buffer overflow in the readgifimage function in the gif2tiff
tool in libtiff 4.0.3 and earlier allows remote attackers to cause a denial
of service (crash) and possibly execute arbitrary code via a crafted height
and width values in a GIF image.

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4243

(From OE-Core dora rev: a2a200a3951cecd7dd43dee360e0260051c97416)

Signed-off-by: Baogen Shang <baogen.shang at windriver.com>
Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 .../libtiff/files/libtiff-CVE-2013-4243.patch      | 40 ++++++++++++++++++++++
 meta/recipes-multimedia/libtiff/tiff_4.0.3.bb      |  3 +-
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch
new file mode 100644
index 0000000..642a117
--- /dev/null
+++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch
@@ -0,0 +1,40 @@
+This patch comes from: http://bugzilla.maptools.org/attachment.cgi?id=518&action=diff#tools/gif2tiff.c_sec2
+
+Upstream-Status: Pending
+
+Signed-off-by: Baogen shang <baogen.shang at windriver.com>
+--- a/tools/gif2tiff.c	2013-10-14 17:08:43.966239709 +0800
++++ b/tools/gif2tiff.c	2013-10-14 17:18:22.994239638 +0800
+@@ -280,6 +280,10 @@
+         fprintf(stderr, "no colormap present for image\n");
+         return (0);
+     }
++    if (width == 0 || height == 0) {
++        fprintf(stderr, "Invalid value of width or height\n");
++        return(0);
++    }
+     if ((raster = (unsigned char*) _TIFFmalloc(width*height+EXTRAFUDGE)) == NULL) {
+         fprintf(stderr, "not enough memory for image\n");
+         return (0);
+@@ -397,6 +401,10 @@
+ 	return 1;
+     }
+ 
++    if (*fill >= raster + width*height) {
++        fprintf(stderr, "raster full before eoi code\n");
++        return 0;
++    }
+     if (oldcode == -1) {
+ 	*(*fill)++ = suffix[code];
+ 	firstchar = oldcode = code;
+@@ -428,6 +436,10 @@
+     }
+     oldcode = incode;
+     do {
++    if (*fill >= raster + width*height) {
++        fprintf(stderr, "raster full before eoi code\n");
++        return 0;
++    }
+ 	*(*fill)++ = *--stackp;
+     } while (stackp > stack);
+     return 1;
diff --git a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb
index f05682b..4a63920 100644
--- a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb
+++ b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb
@@ -8,7 +8,8 @@ PR = "r0"
 SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \
            file://libtool2.patch \
            file://libtiff-CVE-2013-1960.patch \
-           file://libtiff-CVE-2013-4232.patch"
+           file://libtiff-CVE-2013-4232.patch \
+           file://libtiff-CVE-2013-4243.patch"
 
 SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410"
 SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872"



More information about the Openembedded-commits mailing list