From 47388363f69bfbf5ed1816a9367627182ee10e88 Mon Sep 17 00:00:00 2001 From: Baogen Shang Date: Thu, 5 Dec 2013 17:52:16 -0600 Subject: 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 Signed-off-by: Baogen Shang Signed-off-by: Robert Yang Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie --- .../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(-) create mode 100644 meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch (limited to 'meta/recipes-multimedia/libtiff') 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 0000000000..642a117976 --- /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 +--- 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 2d38c689d5..d918b5a50b 100644 --- a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb +++ b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb @@ -7,7 +7,8 @@ DEPENDS = "zlib jpeg xz" 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" -- cgit 1.2.3-korg