diff options
author | Joe Slater <joe.slater@windriver.com> | 2018-09-26 15:51:25 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-10-03 15:25:35 +0100 |
commit | f72c8af3f2c1ec9e4d9ffcf0cc6e7fdf572b21b9 (patch) | |
tree | cead91797f276cf9c9047c5d7ee456d7b103fe45 | |
parent | 4d6fd8178da75f9a1870db290bbe24de5af752c9 (diff) | |
download | openembedded-core-f72c8af3f2c1ec9e4d9ffcf0cc6e7fdf572b21b9.tar.gz openembedded-core-f72c8af3f2c1ec9e4d9ffcf0cc6e7fdf572b21b9.tar.bz2 openembedded-core-f72c8af3f2c1ec9e4d9ffcf0cc6e7fdf572b21b9.zip |
libtiff: fix CVE-2017-17095
Backport fix from gitlab.com/libtiff/libtiff.
nvd.nist.gov does not yet reference this patch.
Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch | 46 | ||||
-rw-r--r-- | meta/recipes-multimedia/libtiff/tiff_4.0.9.bb | 1 |
2 files changed, 47 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch b/meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch new file mode 100644 index 0000000000..9b9962ed35 --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/CVE-2017-17095.patch @@ -0,0 +1,46 @@ +From 9171da596c88e6a2dadcab4a3a89dddd6e1b4655 Mon Sep 17 00:00:00 2001 +From: Nathan Baker <elitebadger@gmail.com> +Date: Thu, 25 Jan 2018 21:28:15 +0000 +Subject: [PATCH] Add workaround to pal2rgb buffer overflow. + +CVE: CVE-2017-17095 + +Upstream-Status: Backport (unchanged) [gitlab.com/libtiff/libtiff/commit/9171da5...] + +Signed-off-by: Joe Slater <joe.slater@windriver.com. + +--- + tools/pal2rgb.c | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/tools/pal2rgb.c b/tools/pal2rgb.c +index 0423598..01fcf94 100644 +--- a/tools/pal2rgb.c ++++ b/tools/pal2rgb.c +@@ -182,8 +182,21 @@ main(int argc, char* argv[]) + { unsigned char *ibuf, *obuf; + register unsigned char* pp; + register uint32 x; +- ibuf = (unsigned char*)_TIFFmalloc(TIFFScanlineSize(in)); +- obuf = (unsigned char*)_TIFFmalloc(TIFFScanlineSize(out)); ++ tmsize_t tss_in = TIFFScanlineSize(in); ++ tmsize_t tss_out = TIFFScanlineSize(out); ++ if (tss_out / tss_in < 3) { ++ /* ++ * BUG 2750: The following code does not know about chroma ++ * subsampling of JPEG data. It assumes that the output buffer is 3x ++ * the length of the input buffer due to exploding the palette into ++ * RGB tuples. If this assumption is incorrect, it could lead to a ++ * buffer overflow. Go ahead and fail now to prevent that. ++ */ ++ fprintf(stderr, "Could not determine correct image size for output. Exiting.\n"); ++ return -1; ++ } ++ ibuf = (unsigned char*)_TIFFmalloc(tss_in); ++ obuf = (unsigned char*)_TIFFmalloc(tss_out); + switch (config) { + case PLANARCONFIG_CONTIG: + for (row = 0; row < imagelength; row++) { +-- +1.7.9.5 + diff --git a/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb b/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb index fa64d11216..93beddb4da 100644 --- a/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb +++ b/meta/recipes-multimedia/libtiff/tiff_4.0.9.bb @@ -12,6 +12,7 @@ SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \ file://CVE-2018-10963.patch \ file://CVE-2018-8905.patch \ file://CVE-2018-7456.patch \ + file://CVE-2017-17095.patch \ " SRC_URI[md5sum] = "54bad211279cc93eb4fca31ba9bfdc79" |