summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/libtiff/files
diff options
context:
space:
mode:
authorBaogen Shang <baogen.shang@windriver.com>2014-03-28 17:43:36 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-28 11:01:05 +0000
commit4eec8fae3f972a27bfb986066f5b3603599ebc25 (patch)
tree75b2306a76989e57f6d4fb4d38833446a23778d8 /meta/recipes-multimedia/libtiff/files
parent355a8086637b859a469e1f2dc717b4ccec00b970 (diff)
downloadopenembedded-core-4eec8fae3f972a27bfb986066f5b3603599ebc25.tar.gz
openembedded-core-4eec8fae3f972a27bfb986066f5b3603599ebc25.tar.bz2
openembedded-core-4eec8fae3f972a27bfb986066f5b3603599ebc25.zip
libtiff: fix CVE-2013-4244
cve description: The LZW decompressor in the gif2tiff tool in libtiff 4.0.3 and earlier allows context-dependent attackers to cause a denial of service (out-of-bounds write and crash) or possibly execute arbitrary code via a crafted GIF image. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4244 Signed-off-by: Baogen Shang <baogen.shang@windriver.com> Signed-off-by: Hongxu Jia <hongxu.jia@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-4244.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4244.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4244.patch
new file mode 100644
index 0000000000..1a668307ae
--- /dev/null
+++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4244.patch
@@ -0,0 +1,19 @@
+This patch comes from: https://github.com/vadz/libtiff/commit/ce6841d9e41d621ba23cf18b190ee6a23b2cc833
+
+Upstream-Status: Backport
+
+Signed-off-by: Baogen shang <baogen.shang@windriver.com>
+--- a/tools/gif2tiff.c 2013-12-17 16:46:02.160814995 +0800
++++ b/tools/gif2tiff.c 2013-12-17 16:52:25.140814949 +0800
+@@ -406,6 +406,11 @@
+ return 0;
+ }
+ if (oldcode == -1) {
++ if (code >= clear) {
++ fprintf(stderr, "bad input: code=%d is larger than clear=%d\n",code, clear);
++ return 0;
++ }
++
+ *(*fill)++ = suffix[code];
+ firstchar = oldcode = code;
+ return 1;