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: a2a200a3951cecd7dd43dee360e0260051c97416)

Signed-off-by: Baogen Shang <baogen.shang@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Baogen Shang 2013-10-21 11:03:41 +08:00 committed by Richard Purdie
parent 3932287231
commit 5f0074f022
2 changed files with 42 additions and 1 deletions

View File

@ -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;

View File

@ -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"