summaryrefslogtreecommitdiff
path: root/meta/recipes-multimedia/libtiff/files
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 11:36:23 +0000
commit47388363f69bfbf5ed1816a9367627182ee10e88 (patch)
tree76f888f84a418c6050948edf43a2d0d08ef7eca7 /meta/recipes-multimedia/libtiff/files
parentbd4a878815e7033b1114940e2a5a16568322655b (diff)
downloadopenembedded-core-47388363f69bfbf5ed1816a9367627182ee10e88.tar.gz
openembedded-core-47388363f69bfbf5ed1816a9367627182ee10e88.tar.bz2
openembedded-core-47388363f69bfbf5ed1816a9367627182ee10e88.zip
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 <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/files')
-rw-r--r--meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch40
1 files changed, 40 insertions, 0 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 @@
+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@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;