summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/libtiff
diff options
context:
space:
mode:
authorBaogen Shang <baogen.shang@windriver.com>2013-12-05 17:52:16 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-10 17:42:45 +0000
commitd1cb9ec1c290960078c3cee621153e88652464cc (patch)
tree29e2750161b1330e80912861e2d681a01a1b898e /meta/recipes-multimedia/libtiff
parent3e46414bf919f5a8d9514e523c51256a37f46d35 (diff)
downloadpoky-d1cb9ec1c290960078c3cee621153e88652464cc.tar.gz
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 rev: 47388363f69bfbf5ed1816a9367627182ee10e88) Signed-off-by: Baogen Shang <baogen.shang@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/libtiff')
-rw-r--r--meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch40
-rw-r--r--meta/recipes-multimedia/libtiff/tiff_4.0.3.bb3
2 files changed, 42 insertions, 1 deletions
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 @@
1This patch comes from: http://bugzilla.maptools.org/attachment.cgi?id=518&action=diff#tools/gif2tiff.c_sec2
2
3Upstream-Status: Pending
4
5Signed-off-by: Baogen shang <baogen.shang@windriver.com>
6--- a/tools/gif2tiff.c 2013-10-14 17:08:43.966239709 +0800
7+++ b/tools/gif2tiff.c 2013-10-14 17:18:22.994239638 +0800
8@@ -280,6 +280,10 @@
9 fprintf(stderr, "no colormap present for image\n");
10 return (0);
11 }
12+ if (width == 0 || height == 0) {
13+ fprintf(stderr, "Invalid value of width or height\n");
14+ return(0);
15+ }
16 if ((raster = (unsigned char*) _TIFFmalloc(width*height+EXTRAFUDGE)) == NULL) {
17 fprintf(stderr, "not enough memory for image\n");
18 return (0);
19@@ -397,6 +401,10 @@
20 return 1;
21 }
22
23+ if (*fill >= raster + width*height) {
24+ fprintf(stderr, "raster full before eoi code\n");
25+ return 0;
26+ }
27 if (oldcode == -1) {
28 *(*fill)++ = suffix[code];
29 firstchar = oldcode = code;
30@@ -428,6 +436,10 @@
31 }
32 oldcode = incode;
33 do {
34+ if (*fill >= raster + width*height) {
35+ fprintf(stderr, "raster full before eoi code\n");
36+ return 0;
37+ }
38 *(*fill)++ = *--stackp;
39 } while (stackp > stack);
40 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"
7SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \ 7SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \
8 file://libtool2.patch \ 8 file://libtool2.patch \
9 file://libtiff-CVE-2013-1960.patch \ 9 file://libtiff-CVE-2013-1960.patch \
10 file://libtiff-CVE-2013-4232.patch" 10 file://libtiff-CVE-2013-4232.patch \
11 file://libtiff-CVE-2013-4243.patch"
11 12
12SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410" 13SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410"
13SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872" 14SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872"