Age | Commit message (Collapse) | Author | Files | Lines |
|
Upstream does not provide NEWS. Skimming over 1300 lines of
ChangeLog, this release contains mostly bufixes, speed improvemnents,
and other minor improvements.
This commit drops 5 patches for CVEs. These patches all appear to
have been taken from the upstream repo.
One CVE remains:
https://nvd.nist.gov/vuln/detail/CVE-2018-10126
http://bugzilla.maptools.org/show_bug.cgi?id=2786
https://gitlab.com/libtiff/libtiff/-/issues/128
|
|
CVE-2022-0907 CVE-2022-0909
bump PKGREVISION again...
|
|
This is tiff-4.3.0nb1.
|
|
|
|
Upstream changes:
tiff requires C99 and uses C99 types. The previous tiff types are
deprecated.
new codec for LERC
bugfixes
pruning of things no longer in use
https://libtiff.gitlab.io/libtiff/v4.3.0.html
|
|
Upstream changes are basically minor improvements and bugfixes.
Specifically upstream states that there are no ABI changes.
Multiple security bugs are fixed due to fuzzing; patches are dropped
because they were backported from upstream.
|
|
CVE-2018-12900 - buffer-overflow
CVE-2018-17000 - denial-of-service
CVE-2018-19210 - null-pointer-dereference
CVE-2019-6128 - memory-leak
Bump PKGREVISION.
|
|
It has been a year since the previous release. This is the first
release made from the Git repository at
https://gitlab.com/libtiff/libtiff using a collaborative process.
Since the previous release, a number of security issues have been
fixed, and some significant new features have been added.
This release adds support for Zstd and WebP compression algorithms.
In their own way, each of these compression algorithms is highly
complimentary to TIFF.
Zstd provides improved compression and decompression speed vs zlib's
Deflate as well as a broader range of compression ratios. Zstd is
developed by Facebook and the implementation continues to be improved.
WebP is optimized for small/medium 8-bit images while offering
improved compression performance vs traditional JPEG. WebP works well
in strips or tiles to compress large images down to very small files,
while preserving a good looking image. WebP is developed by Google,
and its implementation continues to be improved.
Due to Adobe's TIFF tag registration interface going off-line, we have
had to assign our own tags for Zstd and WebP.
|
|
CVE-2017-11613 CVE-2017-18013 CVE-2018-5784 CVE-2018-10963
CVE-2018-17100 CVE-2018-17101
|
|
From 681748ec2f5ce88da5f9fa6831e1653e46af8a66 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Sun, 14 Oct 2018 16:38:29 +0200
Subject: [PATCH 1/1] JBIG: fix potential out-of-bounds write in JBIGDecode()
JBIGDecode doesn't check if the user provided buffer is large enough
to store the JBIG decoded image, which can potentially cause out-of-bounds
write in the buffer.
This issue was reported and analyzed by Thomas Dullien.
Also fixes a (harmless) potential use of uninitialized memory when
tif->tif_rawsize > tif->tif_rawcc
And in case libtiff is compiled with CHUNKY_STRIP_READ_SUPPORT, make sure
that whole strip data is provided to JBIGDecode()
The last part (CHUNKY_STRIP_READ_SUPPORT) was adapted by myself to fit
the libtiff release.
Bump PKGREVISION.
|
|
from https://gitlab.com/libtiff/libtiff/commit/58a898cb4459055bb488ca815c23b880c242a27d
|
|
|
|
bump PKGREVISION
|
|
Pkgsrc changes:
* Adapt PLIST, remove patches for now-integrated bugfixes.
Upstream changes:
* Many changes related to security & stability.
See the source's ChangeLog for the details.
|
|
|
|
|
|
per http://bugzilla.maptools.org/show_bug.cgi?id=2580
also CVE-2017-9147
(http://bugzilla.maptools.org/show_bug.cgi?id=2693)
|
|
Pkgsrc changes:
* Adapt PLIST, remove patches for now-integrated bugfixes.
As the release announcement says:
All of the changes are bug and security fixes.
Upstream changes:
CHANGES IN LIBTIFF:
* libtiff/tif_getimage.c, libtiff/tif_open.c: add parenthesis to
fix cppcheck clarifyCalculation warnings * libtiff/tif_predict.c,
libtiff/tif_print.c: fix printf unsigned vs signed formatting
(cppcheck invalidPrintfArgType_uint warnings)
* libtiff/tif_read.c, libtiff/tiffiop.h: fix uint32 overflow in
TIFFReadEncodedStrip() that caused an integer division by zero.
Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2596
* libtiff/tif_pixarlog.c, libtiff/tif_luv.c: fix heap-based buffer
overflow on generation of PixarLog / LUV compressed files, with
ColorMap, TransferFunction attached and nasty plays with
bitspersample. The fix for LUV has not been tested, but suffers
from the same kind of issue of PixarLog. Reported by Agostino
Sarubbo. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2604
* libtiff/tif_strip.c: revert the change in TIFFNumberOfStrips()
done for http://bugzilla.maptools.org/show_bug.cgi?id=2587 /
CVE-2016-9273 since the above change is a better fix that makes
it unnecessary.
* libtiff/tif_dirread.c: modify ChopUpSingleUncompressedStrip()
to instanciate compute ntrips as TIFFhowmany_32(td->td_imagelength,
rowsperstrip), instead of a logic based on the total size of
data. Which is faulty is the total size of data is not sufficient
to fill the whole image, and thus results in reading outside of
the StripByCounts/StripOffsets arrays when using TIFFReadScanline().
Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2608.
* libtiff/tif_ojpeg.c: make OJPEGDecode() early exit in case of
failure in OJPEGPreDecode(). This will avoid a divide by zero,
and potential other issues. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2611
* libtiff/tif_write.c: fix misleading indentation as warned by GCC.
* libtiff/tif_fax3.h: revert change done on 2016-01-09 that made
Param member of TIFFFaxTabEnt structure a uint16 to reduce size
of the binary. It happens that the Hylafax software uses the
tables that follow this typedef (TIFFFaxMainTable, TIFFFaxWhiteTable,
TIFFFaxBlackTable), although they are not in a public libtiff
header. Raised by Lee Howard. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2636
* libtiff/tiffio.h, libtiff/tif_getimage.c: add TIFFReadRGBAStripExt()
and TIFFReadRGBATileExt() variants of the functions without ext,
with an extra argument to control the stop_on_error behaviour.
* libtiff/tif_getimage.c: fix potential memory leaks in error code
path of TIFFRGBAImageBegin(). Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2627
* libtiff/tif_jpeg.c: increase libjpeg max memory usable to 10 MB
instead of libjpeg 1MB default. This helps when creating files
with "big" tile, without using libjpeg temporary files. Related
to https://trac.osgeo.org/gdal/ticket/6757
* libtiff/tif_jpeg.c: avoid integer division by zero in
JPEGSetupEncode() when horizontal or vertical sampling is set
to 0. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2653
* libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedRational,
replace assertion by runtime check to error out if passed value
is strictly negative. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2535
* libtiff/tif_dirread.c: avoid division by floating point 0 in
TIFFReadDirEntryCheckedRational() and
TIFFReadDirEntryCheckedSrational(), and return 0 in that case
(instead of infinity as before presumably) Apparently some
sanitizers do not like those divisions by zero. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2644
* libtiff/tif_dir.c, tif_dirread.c, tif_dirwrite.c: implement
various clampings of double to other data types to avoid undefined
behaviour if the output range isn't big enough to hold the input
value. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2643
http://bugzilla.maptools.org/show_bug.cgi?id=2642
http://bugzilla.maptools.org/show_bug.cgi?id=2646
http://bugzilla.maptools.org/show_bug.cgi?id=2647
* libtiff/tif_jpeg.c: validate BitsPerSample in JPEGSetupEncode()
to avoid undefined behaviour caused by invalid shift exponent.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2648
* libtiff/tif_read.c: avoid potential undefined behaviour on signed
integer addition in TIFFReadRawStrip1() in isMapped() case.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2650
* libtiff/tif_getimage.c: add explicit uint32 cast in putagreytile
to avoid UndefinedBehaviorSanitizer warning. Patch by Nicolás
Peña. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2658
* libtiff/tif_read.c: TIFFReadBufferSetup(): use _TIFFcalloc() to
zero initialize tif_rawdata. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2651
* libtiff/tiffio.h, tif_unix.c, tif_win32.c, tif_vms.c: add _TIFFcalloc()
* libtiff/tif_luv.c, tif_lzw.c, tif_packbits.c: return 0 in Encode
functions instead of -1 when TIFFFlushData1() fails. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2130
* libtiff/tif_ojpeg.c: fix leak in OJPEGReadHeaderInfoSecTablesQTable,
OJPEGReadHeaderInfoSecTablesDcTable and
OJPEGReadHeaderInfoSecTablesAcTable when read fails. Patch by
Nicolás Peña. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2659
* libtiff/tif_jpeg.c: only run JPEGFixupTagsSubsampling() if the
YCbCrSubsampling tag is not explicitly present. This helps a
bit to reduce the I/O amount when the tag is present (especially
on cloud hosted files).
* libtiff/tif_lzw.c: in LZWPostEncode(), increase, if necessary,
the code bit-width after flushing the remaining code and before
emitting the EOI code. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=1982
* libtiff/tif_pixarlog.c: fix memory leak in error code path of
PixarLogSetupDecode(). Patch by Nicolás Peña. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2665
* libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c: fix GCC 7
-Wimplicit-fallthrough warnings.
* libtiff/tif_dirread.c: fix memory leak in non DEFER_STRILE_LOAD
mode (ie default) when there is both a StripOffsets and TileOffsets
tag, or a StripByteCounts and TileByteCounts Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2689
* libtiff/tif_ojpeg.c: fix potential memory leak in
OJPEGReadHeaderInfoSecTablesQTable, OJPEGReadHeaderInfoSecTablesDcTable
and OJPEGReadHeaderInfoSecTablesAcTable Patch by Nicolás Peña.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2670
* libtiff/tif_fax3.c: avoid crash in Fax3Close() on empty file.
Patch by Alan Coopersmith + complement by myself. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2673
* libtiff/tif_read.c: TIFFFillStrip(): add limitation to the number
of bytes read in case td_stripbytecount[strip] is bigger than
reasonable, so as to avoid excessive memory allocation.
* libtiff/tif_zip.c, tif_pixarlog.c, tif_predict.c: fix memory
leak when the underlying codec (ZIP, PixarLog) succeeds its
setupdecode() method, but PredictorSetup fails. Credit to OSS-Fuzz
(locally run, on GDAL)
* libtiff/tif_read.c: TIFFFillStrip() and TIFFFillTile(): avoid
excessive memory allocation in case of shorten files. Only
effective on 64 bit builds and non-mapped cases. Credit to
OSS-Fuzz (locally run, on GDAL)
* libtiff/tif_read.c: TIFFFillStripPartial() / TIFFSeek(), avoid
potential integer overflows with read_ahead in CHUNKY_STRIP_READ_SUPPORT
mode. Should especially occur on 32 bit platforms.
* libtiff/tif_read.c: TIFFFillStripPartial(): avoid excessive
memory allocation in case of shorten files. Only effective on
64 bit builds. Credit to OSS-Fuzz (locally run, on GDAL)
* libtiff/tif_read.c: update tif_rawcc in CHUNKY_STRIP_READ_SUPPORT
mode with tif_rawdataloaded when calling TIFFStartStrip() or
TIFFFillStripPartial(). This avoids reading beyond tif_rawdata
when bytecount > tif_rawdatasize. Fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1545.
Credit to OSS-Fuzz
* libtiff/tif_color.c: avoid potential int32 overflow in
TIFFYCbCrToRGBInit() Fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1533 Credit
to OSS-Fuzz
* libtiff/tif_pixarlog.c, tif_luv.c: avoid potential int32 overflows
in multiply_ms() and add_ms(). Fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1558 Credit
to OSS-Fuzz
* libtiff/tif_packbits.c: fix out-of-buffer read in PackBitsDecode()
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1563
Credit to OSS-Fuzz
* libtiff/tif_luv.c: LogL16InitState(): avoid excessive memory
allocation when RowsPerStrip tag is missing. Credit to OSS-Fuzz
(locally run, on GDAL)
* libtiff/tif_lzw.c: update dec_bitsleft at beginning of LZWDecode(),
and update tif_rawcc at end of LZWDecode(). This is needed to
properly work with the latest chnges in tif_read.c in
CHUNKY_STRIP_READ_SUPPORT mode.
* libtiff/tif_pixarlog.c: PixarLogDecode(): resync tif_rawcp with
next_in and tif_rawcc with avail_in at beginning and end of
function, similarly to what is done in LZWDecode(). Likely needed
so that it works properly with latest chnges in tif_read.c in
CHUNKY_STRIP_READ_SUPPORT mode. But untested...
* libtiff/tif_getimage.c: initYCbCrConversion(): add basic validation
of luma and refBlackWhite coefficients (just check they are not
NaN for now), to avoid potential float to int overflows. Fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1663 Credit
to OSS Fuzz
* libtiff/tif_read.c: _TIFFVSetField(): fix outside range cast of
double to float. Credit to Google Autofuzz project
* libtiff/tif_getimage.c: initYCbCrConversion(): check luma[1] is
not zero to avoid division by zero. Fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665 Credit
to OSS Fuzz
* libtiff/tif_read.c: _TIFFVSetField(): fix outside range cast of
double to float. Credit to Google Autofuzz project
* libtiff/tif_getimage.c: initYCbCrConversion(): check luma[1] is
not zero to avoid division by zero. Fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665 Credit
to OSS Fuzz
* libtiff/tif_getimage.c: initYCbCrConversion(): stricter validation
for refBlackWhite coefficients values. To avoid invalid float->int32
conversion. Fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1718 Credit
to OSS Fuzz
CHANGES IN THE TOOLS:
* tools/fax2tiff.c (main): Applied patch by Jörg Ahrens to fix
passing client data for Win32 builds using tif_win32.c
(USE_WIN32_FILEIO defined) for file I/O. Patch was provided via
email on November 20, 2016.
* tools/tiffcp.c: avoid uint32 underflow in cpDecodedStrips that
can cause various issues, such as buffer overflows in the library.
Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2598
* tools/tiffcrop.c: fix readContigStripsIntoBuffer() in -i (ignore)
mode so that the output buffer is correctly incremented to avoid
write outside bounds. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2620
* tools/tiffcrop.c: add 3 extra bytes at end of strip buffer in
readSeparateStripsIntoBuffer() to avoid read outside of heap
allocated buffer. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2621
* tools/tiffcrop.c: fix integer division by zero when BitsPerSample
is missing. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2619
* tools/tiffinfo.c: fix null pointer dereference in -r mode when
the image has no StripByteCount tag. Reported by Agostino Sarubbo.
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2594
* tools/tiffcp.c: avoid potential division by zero is BitsPerSamples
tag is missing. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2597
* tools/tif_dir.c: when TIFFGetField(, TIFFTAG_NUMBEROFINKS, ) is
called, limit the return number of inks to SamplesPerPixel, so
that code that parses ink names doesn't go past the end of the
buffer. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2599
* tools/tiffcp.c: avoid potential division by zero is BitsPerSamples
tag is missing. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2607
* tools/tiffcp.c: fix uint32 underflow/overflow that can cause
heap-based buffer overflow. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2610
* tools/tiffcp.c: replace assert( (bps % 8) == 0 ) by a non assert
check. Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2605
* tools/tiff2ps.c: fix 2 heap-based buffer overflows (in PSDataBW
and PSDataColorContig). Reported by Agostino Sarubbo. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2633 and
http://bugzilla.maptools.org/show_bug.cgi?id=2634.
* tools/tiff2pdf.c: prevent heap-based buffer overflow in -j mode
on a paletted image. Note: this fix errors out before the overflow
happens. There could probably be a better fix. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2635
* tools/tiff2pdf.c: fix wrong usage of memcpy() that can trigger
unspecified behaviour. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2638
* tools/tiff2pdf.c: avoid potential invalid memory read in
t2p_writeproc. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2639
* tools/tiff2pdf.c: avoid potential heap-based overflow in
t2p_readwrite_pdf_image_tile(). Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2640
* tools/tiffcrop.c: remove extraneous TIFFClose() in error code
path, that caused double free. Related to
http://bugzilla.maptools.org/show_bug.cgi?id=2535
* tools/tiffcp.c: error out cleanly in cpContig2SeparateByRow and
cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap based
overflow. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2656
and http://bugzilla.maptools.org/show_bug.cgi?id=2657
* tools/raw2tiff.c: avoid integer division by zero. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2631
* tools/tiff2ps.c: call TIFFClose() in error code paths.
* tools/fax2tiff.c: emit appropriate message if the input file is
empty. Patch by Alan Coopersmith. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2672
* tools/tiff2bw.c: close TIFF handle in error code path. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2677
|
|
http://bugzilla.maptools.org/show_bug.cgi?id=2611
https://github.com/vadz/libtiff/commit/43bc256d8ae44b92d2734a3c5bc73957a4d7c1ec
Bump PKGREVISION.
|
|
http://bugzilla.maptools.org/show_bug.cgi?id=2596
https://github.com/vadz/libtiff/commit/438274f938e046d33cb0e1230b41da32ffe223e1
Bump PKGREVISION.
|
|
http://bugzilla.maptools.org/show_bug.cgi?id=2598
https://github.com/vadz/libtiff/commit/5397a417e61258c69209904e652a1f409ec3b9df
Bump PKGREVISION.
|
|
http://bugzilla.maptools.org/show_bug.cgi?id=2608
https://github.com/vadz/libtiff/commit/9a72a69e035ee70ff5c41541c8c61cd97990d018
Bump PKGREVISION.
|
|
and
https://github.com/vadz/libtiff/commit/1044b43637fa7f70fb19b93593777b78bd20da86
Bump PKGREVISION.
|
|
and https://github.com/vadz/libtiff/commit/c7153361a4041260719b340f73f2f76
Bump PKGREVISION.
|
|
CVE-2017-7597
CVE-2017-7599
CVE-2017-7600
https://github.com/vadz/libtiff/commit/3144e57770c1e4d26520d8abee750f8ac8b75490
Dependency for applying advisory patch.
+http://bugzilla.maptools.org/show_bug.cgi?id=2535
+https://github.com/vadz/libtiff/commit/0abd094b6e5079c4d8be733829240491cb230f3d
Bump rev.
|
|
http://bugzilla.maptools.org/show_bug.cgi?id=2610
https://github.com/vadz/libtiff/commit/787c0ee906430b772f33ca50b97b8b5ca070faec
Bump PKGREVISION.
|
|
http://bugzilla.maptools.org/show_bug.cgi?id=2620 and
https://github.com/vadz/libtiff/commit/9657bbe3cdce4aaa90e07d50c1c70ae52da0ba6a
Bump PKGREVISION.
|
|
via FreeBSD bz #216658
https://nvd.nist.gov/vuln/detail/CVE-2017-5225
http://bugzilla.maptools.org/show_bug.cgi?id=2656
http://bugzilla.maptools.org/show_bug.cgi?id=2657
https://github.com/vadz/libtiff/commit/5c080298d59efa53264d7248bbe3a04660db6ef7
https://nvd.nist.gov/vuln/detail/CVE-2017-7592
http://bugzilla.maptools.org/show_bug.cgi?id=2658
https://github.com/vadz/libtiff/commit/48780b4fcc42
https://nvd.nist.gov/vuln/detail/CVE-2017-7593
http://bugzilla.maptools.org/show_bug.cgi?id=2651
https://github.com/vadz/libtiff/commit/d60332057b95
https://nvd.nist.gov/vuln/detail/CVE-2017-7594
http://bugzilla.maptools.org/show_bug.cgi?id=2659
https://github.com/vadz/libtiff/commit/8283e4d1b7e5
https://github.com/vadz/libtiff/commit/2ea32f7372b6
https://nvd.nist.gov/vuln/detail/CVE-2017-7595
https://github.com/vadz/libtiff/commit/47f2fb61a3a64667bce1a8398a8fcb1b348ff122
https://nvd.nist.gov/vuln/detail/CVE-2017-7598
https://github.com/vadz/libtiff/commit/3cfd62d77c2a7e147a05bd678524c345fa9c2bb8
https://nvd.nist.gov/vuln/detail/CVE-2017-7601
https://github.com/vadz/libtiff/commit/0a76a8c765c7b8327c59646284fa78c3c27e5490
https://nvd.nist.gov/vuln/detail/CVE-2017-7602
https://github.com/vadz/libtiff/commit/66e7bd59520996740e4df5495a830b42fae48bc4
|
|
rgb2ycbcr and thumbnail, since these binaries are no longer being
installed.
Bump PKGREVISION.
|
|
MAJOR CHANGES:
• The libtiff tools bmp2tiff, gif2tiff, ras2tiff, sgi2tiff, sgisv, and ycbcr
are completely removed from the distribution. These tools were written in
the late 1980s and early 1990s for test and demonstration purposes. In some
cases the tools were never updated to support updates to the file format,
or the file formats are now rarely used. In all cases these tools increased
the libtiff security and maintenance exposure beyond the value offered by
the tool.
CHANGES IN LIBTIFF:
• libtiff/tif_dirread.c: in TIFFFetchNormalTag(), do not dereference NULL
pointer when values of tags with TIFF_SETGET_C16_ASCII /
TIFF_SETGET_C32_ASCII access are 0-byte arrays. Fixes http://
bugzilla.maptools.org/show_bug.cgi?id=2593 (regression introduced by
previous fix done on 2016-11-11 for CVE-2016-9297). Reported by Henri Salo.
Assigned as CVE-2016-9448
• libtiff/tif_aux.c: fix crash in TIFFVGetFieldDefaulted() when requesting
Predictor tag and that the zip/lzw codec is not configured. Fixes http://
bugzilla.maptools.org/show_bug.cgi?id=2591
• libtiff/tif_dirread.c: in TIFFFetchNormalTag(), make sure that values of
tags with TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII access are null
terminated, to avoid potential read outside buffer in _TIFFPrintField().
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2590
• libtiff/tif_dirread.c: reject images with OJPEG compression that have no
TileOffsets/StripOffsets tag, when OJPEG compression is disabled. Prevent
null pointer dereference in TIFFReadRawStrip1() and other functions that
expect td_stripbytecount to be non NULL. Fixes http://bugzilla.maptools.org
/show_bug.cgi?id=2585
• libtiff/tif_strip.c: make TIFFNumberOfStrips() return the td->td_nstrips
value when it is non-zero, instead of recomputing it. This is needed in
TIFF_STRIPCHOP mode where td_nstrips is modified. Fixes a read outsize of
array in tiffsplit (or other utilities using TIFFNumberOfStrips()). Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2587 (CVE-2016-9273)
• libtiff/tif_predict.h, libtiff/tif_predict.c: Replace assertions by runtime
checks to avoid assertions in debug mode, or buffer overflows in release
mode. Can happen when dealing with unusual tile size like YCbCr with
subsampling. Reported as MSVR 35105 by Axel Souchet & Vishal Chauhan from
the MSRC Vulnerabilities & Mitigations
• libtiff/tif_dir.c: discard values of SMinSampleValue and SMaxSampleValue
when they have been read and the value of SamplesPerPixel is changed
afterwards (like when reading a OJPEG compressed image with a missing
SamplesPerPixel tag, and whose photometric is RGB or YCbCr, forcing
SamplesPerPixel being 3). Otherwise when rewriting the directory (for
example with tiffset, we will expect 3 values whereas the array had been
allocated with just one), thus causing a out of bound read access. Fixes
http://bugzilla.maptools.org/show_bug.cgi?id=2500 (CVE-2014-8127,
duplicate: CVE-2016-3658)
• libtiff/tif_dirwrite.c: avoid null pointer dereference on td_stripoffset
when writing directory, if FIELD_STRIPOFFSETS was artificially set for a
hack case in OJPEG case. Fixes http://bugzilla.maptools.org/show_bug.cgi?id
=2500 (CVE-2014-8127, duplicate: CVE-2016-3658)
• libtiff/tif_getimage.c (TIFFRGBAImageOK): Reject attempts to read floating
point images.
• libtiff/tif_predict.c (PredictorSetup): Enforce bits-per-sample
requirements of floating point predictor (3). Fixes CVE-2016-3622 "Divide
By Zero in the tiff2rgba tool."
• libtiff/tif_pixarlog.c: fix out-of-bounds write vulnerabilities in heap
allocated buffers. Reported as MSVR 35094. Discovered by Axel Souchet and
Vishal Chauhan from the MSRC Vulnerabilities & Mitigations team.
• libtiff/tif_write.c: fix issue in error code path of TIFFFlushData1() that
didn't reset the tif_rawcc and tif_rawcp members. I'm not completely sure
if that could happen in practice outside of the odd behaviour of
t2p_seekproc() of tiff2pdf). The report points that a better fix could be
to check the return value of TIFFFlushData1() in places where it isn't done
currently, but it seems this patch is enough. Reported as MSVR 35095.
Discovered by Axel Souchet & Vishal Chauhan & Suha Can from the MSRC
Vulnerabilities & Mitigations team.
• libtiff/tif_pixarlog.c: Fix write buffer overflow in PixarLogEncode if more
input samples are provided than expected by PixarLogSetupEncode. Idea based
on libtiff-CVE-2016-3990.patch from libtiff-4.0.3-25.el7_2.src.rpm by
Nikola Forro, but with different and simpler check. (bugzilla #2544)
• libtiff/tif_read.c: Fix out-of-bounds read on memory-mapped files in
TIFFReadRawStrip1() and TIFFReadRawTile1() when stripoffset is beyond
tmsize_t max value (reported by Mathias Svensson)
• libtiff/tif_read.c: make TIFFReadEncodedStrip() and TIFFReadEncodedTile()
directly use user provided buffer when no compression (and other
conditions) to save a memcpy()
• libtiff/tif_write.c: make TIFFWriteEncodedStrip() and TIFFWriteEncodedTile
() directly use user provided buffer when no compression to save a memcpy
().
• libtiff/tif_luv.c: validate that for COMPRESSION_SGILOG and
PHOTOMETRIC_LOGL, there is only one sample per pixel. Avoid potential
invalid memory write on corrupted/unexpected images when using the
TIFFRGBAImageBegin() interface (reported by Clay Wood)
• libtiff/tif_pixarlog.c: fix potential buffer write overrun in
PixarLogDecode() on corrupted/unexpected images (reported by Mathias
Svensson) (CVE-2016-5875)
• libtiff/libtiff.def: Added _TIFFMultiply32 and _TIFFMultiply64 to
libtiff.def
• libtiff/tif_config.vc.h (HAVE_SNPRINTF): Add a '1' to the HAVE_SNPRINTF
definition.
• libtiff/tif_config.vc.h (HAVE_SNPRINTF): Applied patch by Edward Lam to
define HAVE_SNPRINTF for Visual Studio 2015.
• libtiff/tif_dirread.c: when compiled with DEFER_STRILE_LOAD, fix
regression, introduced on 2014-12-23, when reading a one-strip file without
a StripByteCounts tag. GDAL #6490
• libtiff/*: upstream typo fixes (mostly contributed by Kurt Schwehr) coming
from GDAL internal libtiff
• libtiff/tif_fax3.h: make Param member of TIFFFaxTabEnt structure a uint16
to reduce size of the binary.
• libtiff/tif_read.c, tif_dirread.c: fix indentation issues raised by GCC 6
-Wmisleading-indentation
• libtiff/tif_pixarlog.c: avoid zlib error messages to pass a NULL string to
%s formatter, which is undefined behaviour in sprintf().
• libtiff/tif_next.c: fix potential out-of-bound write in NeXTDecode()
triggered by http://lcamtuf.coredump.cx/afl/vulns/libtiff5.tif (bugzilla #
2508)
• libtiff/tif_luv.c: fix potential out-of-bound writes in decode functions in
non debug builds by replacing assert()s by regular if checks (bugzilla #
2522). Fix potential out-of-bound reads in case of short input data.
• libtiff/tif_getimage.c: fix out-of-bound reads in TIFFRGBAImage interface
in case of unsupported values of SamplesPerPixel/ExtraSamples for LogLUV /
CIELab. Add explicit call to TIFFRGBAImageOK() in TIFFRGBAImageBegin(). Fix
CVE-2015-8665 reported by limingxing and CVE-2015-8683 reported by zzf of
Alibaba.
• libtiff/tif_dirread.c: workaround false positive warning of Clang Static
Analyzer about null pointer dereference in TIFFCheckDirOffset().
• libtiff/tif_fax3.c: remove dead assignment in Fax3PutEOLgdal(). Found by
Clang Static Analyzer
• libtiff/tif_dirwrite.c: fix truncation to 32 bit of file offsets in
TIFFLinkDirectory() and TIFFWriteDirectorySec() when aligning directory
offsets on a even offset (affects BigTIFF). This was a regression of the
changeset of 2015-10-19.
• libtiff/tif_write.c: TIFFWriteEncodedStrip() and TIFFWriteEncodedTile()
should return -1 in case of failure of tif_encodestrip() as documented
• libtiff/tif_dumpmode.c: DumpModeEncode() should return 0 in case of failure
so that the above mentionned functions detect the error.
• libtiff/*.c: fix MSVC warnings related to cast shortening and assignment
within conditional expression
• libtiff/*.c: fix clang -Wshorten-64-to-32 warnings
• libtiff/tif_dirread.c: prevent reading ColorMap or TransferFunction if
BitsPerPixel > 24, so as to avoid huge memory allocation and file read
attempts
• libtiff/tif_dirread.c: remove duplicated assignment (reported by Clang
static analyzer)
• libtiff/tif_dir.c, libtiff/tif_dirinfo.c, libtiff/tif_compress.c, libtiff/
tif_jpeg_12.c: suppress warnings about 'no previous declaration/prototype'
• libtiff/tiffiop.h, libtiff/tif_dirwrite.c: suffix constants by U to fix
'warning: negative integer implicitly converted to unsigned type' warning
(part of -Wconversion)
• libtiff/tif_dir.c, libtiff/tif_dirread.c, libtiff/tif_getimage.c, libtiff/
tif_print.c: fix -Wshadow warnings (only in libtiff/)
CHANGES IN THE TOOLS:
• tools/Makefile.am: The libtiff tools bmp2tiff, gif2tiff, ras2tiff,
sgi2tiff, sgisv, and ycbcr are completely removed from the distribution.
The libtiff tools rgb2ycbcr and thumbnail are only built in the build tree
for testing. Old files are put in new 'archive' subdirectory of the source
repository, but not in distribution archives. These changes are made in
order to lessen the maintenance burden.
• tools/tiff2pdf.c: avoid undefined behaviour related to overlapping of
source and destination buffer in memcpy() call in t2p_sample_rgbaa_to_rgb()
Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2577
• tools/tiff2pdf.c: fix potential integer overflows on 32 bit builds in
t2p_read_tiff_size() Fixes http://bugzilla.maptools.org/show_bug.cgi?id=
2576
• tools/fax2tiff.c: fix segfault when specifying -r without argument. Patch
by Yuriy M. Kaminskiy. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=
2572
• tools/tiffinfo.c: fix out-of-bound read on some tiled images. (http://
bugzilla.maptools.org/show_bug.cgi?id=2517)
• tools/tiffcrop.c: fix multiple uint32 overflows in
writeBufferToSeparateStrips(), writeBufferToContigTiles() and
writeBufferToSeparateTiles() that could cause heap buffer overflows.
Reported by Henri Salo from Nixu Corporation. Fixes http://
bugzilla.maptools.org/show_bug.cgi?id=2592
• tools/tiffcrop.c: fix out-of-bound read of up to 3 bytes in
readContigTilesIntoBuffer(). Reported as MSVR 35092 by Axel Souchet &
Vishal Chauhan from the MSRC Vulnerabilities & Mitigations team.
• tools/tiff2pdf.c: fix write buffer overflow of 2 bytes on JPEG compressed
images. Reported by Tyler Bohan of Cisco Talos as TALOS-CAN-0187 /
CVE-2016-5652. Also prevents writing 2 extra uninitialized bytes to the
file stream.
• tools/tiffcp.c: fix out-of-bounds write on tiled images with odd tile width
vs image width. Reported as MSVR 35103 by Axel Souchet and Vishal Chauhan
from the MSRC Vulnerabilities & Mitigations team.
• tools/tiff2pdf.c: fix read -largely- outsize of buffer in
t2p_readwrite_pdf_image_tile(), causing crash, when reading a JPEG
compressed image with TIFFTAG_JPEGTABLES length being one. Reported as MSVR
35101 by Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
Mitigations team.
• tools/tiffcp.c: fix read of undefined variable in case of missing required
tags. Found on test case of MSVR 35100.
• tools/tiffcrop.c: fix read of undefined buffer in
readContigStripsIntoBuffer() due to uint16 overflow. Probably not a
security issue but I can be wrong. Reported as MSVR 35100 by Axel Souchet
from the MSRC Vulnerabilities & Mitigations team.
• tools/tiffcrop.c: fix various out-of-bounds write vulnerabilities in heap
or stack allocated buffers. Reported as MSVR 35093, MSVR 35096 and MSVR
35097. Discovered by Axel Souchet and Vishal Chauhan from the MSRC
Vulnerabilities & Mitigations team.
• tools/tiff2pdf.c: fix out-of-bounds write vulnerabilities in heap allocate
buffer in t2p_process_jpeg_strip(). Reported as MSVR 35098. Discovered by
Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities & Mitigations
team.
• tools/tiff2bw.c: fix weight computation that could result of color value
overflow (no security implication). Fix bugzilla #2550. Patch by Frank
Freudenberg.
• tools/rgb2ycbcr.c: validate values of -v and -h parameters to avoid
potential divide by zero. Fixes CVE-2016-3623 (bugzilla #2569)
• tools/tiffcrop.c: Fix out-of-bounds write in loadImage(). From patch
libtiff-CVE-2016-3991.patch from libtiff-4.0.3-25.el7_2.src.rpm by Nikola
Forro (bugzilla #2543)
• tools/tiff2rgba.c: Fix integer overflow in size of allocated buffer, when
-b mode is enabled, that could result in out-of-bounds write. Based
initially on patch tiff-CVE-2016-3945.patch from
libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, with correction for invalid
tests that rejected valid files. (bugzilla #2545)
• tools/tiffcrop.c: Avoid access outside of stack allocated array on a tiled
separate TIFF with more than 8 samples per pixel. Reported by Kaixiang
Zhang of the Cloud Security Team, Qihoo 360 (CVE-2016-5321 / CVE-2016-5323
, bugzilla #2558 / #2559)
• tools/tiffdump.c: fix a few misaligned 64-bit reads warned by -fsanitize
• tools/tiffdump.c (ReadDirectory): Remove uint32 cast to _TIFFmalloc()
argument which resulted in Coverity report. Added more mutiplication
overflow checks.
|
|
https://github.com/vadz/libtiff/commit/aaab5c3c9d2a2c6984f23ccbc79702610439bc65.diff
|
|
|
|
Changelog:
2015-06-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* libtiff 4.0.4 released.
* configure.ac: Add a HAVE_FOO Automake conditional for each
add-on library.
* test/Makefile.am (JPEG_DEPENDENT_CHECK_PROG): raw_decode
requires JPEG support to compile. Use Automake conditional to
only include it when JPEG support is available.
* html/build.html: Try to improve the nmake-based VC++ build
description.
* libtiff/tiffconf.vc.h: Build fixes based on testing.
* libtiff/tif_config.vc.h: Build fixes based on testing.
* libtiff/libtiff.def: TIFFRasterScanline does not exist so remove
export for it.
2015-06-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* libtiff/tif_config.vc.h: Make adjustments to match the new
definitions that configure produces, including for WIN64. Still
needs to be tested.
* configure.ac: For 64-bit MinGW, fix SSIZE_FORMAT formatting
specifier. 64-bit MinGW supports 'long long' but support for
'lld' is not assured by the run-time DLLs and so GCC warns.
Add TIFF_SIZE_T and TIFF_SIZE_FORMAT to provide a type definition
and printf format specifier to deal with printing values of
'size_t' type. In particular, this was necessary for WIN64.
Added a configure test for if the system headers provide 'optarg'
(normal case) and block out the many explicit 'extern' statements
in the utilities. This was found to be necessary under Windows
when getopt is in a DLL and the symbols are already imported with
dllimport via standard header files.
* test/raw_decode.c (XMD_H): Avoid conflicting typedefs for INT32
and boolean in MinGW build due to including jpeglib.h.
* test/rewrite_tag.c (main): Fix problem with location of variable
declaration.
* libtiff/libtiff.def: Added exports for TIFFGetConfiguredCODECs,
TIFFReadRGBAImageOriented, TIFFSetCompressionScheme,
TIFFSwabArrayOfTriples, TIFFVGetFieldDefaulted, _TIFFCheckRealloc,
TIFFRasterScanline, TIFFSetErrorHandlerExt,
TIFFSetWarningHandlerExt, TIFFNumberOfDirectories,
TIFFCreateCustomDirectory, TIFFCreateEXIFDirectory,
TIFFWriteCustomDirectory, _TIFFRewriteField as recommended by
Roger Leigh and justified by use in libtiff tests, documentation,
and changelog notes. Also sorted symbol list and removed
duplicate entries.
2015-06-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* libtiff/tif_getimage.c: Fix four Coverity issues related to
unintended sign extension.
2015-06-16 Even Rouault <even.rouault at spatialys.com>
* libtiff/tif_unix.c: fix compilation with MSVC (fix by Jeff McKenna)
2015-06-14 Lee Howard <faxguy@howardsilvan.com>
* libtiff/tif_unix.c: contribution from Vadim Zeitlin on
Bugzilla Bug #2510 fixes several harmless but still annoying
warnings
* configure: contribution from Ludolf Holzheid on Bugzilla
Bug #2498. Adds an option to select the file I/O style on
Windows hosts.
* libtiff/tif_getimage.c: contribution from Gary Cramblitt
on Bugzilla Bug #2409. Correct reading of certain tiled TIFFs.
* configure, configure.ac: contribution from Marcos H. Woehrmann
on Bugzilla Bug #2405. Correct shell equality operator.
* tools/tiffgt.c (raster_draw): contribution from Jay Berkenbilt
on Bugzilla Bug #2401. Appropriately call glFlush().
* tools/tiff2pdf.c: change ColorTransform from "0" to "1"
following Bugzilla Bug #2150.
2015-06-13 Lee Howard <faxguy@howardsilvan.com>
* libtiff/tif_lzw.c: contribution from Andy Cave - decode
files that contain consecutive CODE_CLEAR codes.
* tools/tiff2pdf.c: contribution from Antti S. Lankila on
Bugzilla Bug #2078. Suppress initial output of the header.
* tools/tiff2pdf.c: contribution from Yuriy M. Kaminskiy -
Take care in using the return value from snprintf().
* tools/tiffcrop.c: contribution from Eduardo Robles Elvira -
correctly copy the compression tag from the source TIFF.
* tools/tiff2ps.c: contribution from Eduardo Robles Elvira -
correct sizing and scaling problems with output document.
2015-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* libtiff/tif_jpeg.c (JPEGDecode): Split JPEGDecode() into two
clean implementations in order to avoid pre-processor hell. Only
one of the implementations is used in a given build.
2015-06-08 Even Rouault <even.rouault at spatialys.com>
* libtiff/tif_jpeg.c: Fix compilation in BITS_IN_JSAMPLE == 12
case
2015-06-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* libtiff/tif_write.c (TIFFWriteEncodedStrip): Fix Coverity 715975
"Division or modulo by zero".
(TIFFWriteEncodedTile): Fix Coverity 715976 and 715977 "Division
or modulo by zero".
(TIFFWriteRawStrip): Fix Coverity 715978 "Division or modulo by
zero".
(TIFFWriteScanline): Fix Coverity 715979 "Division or modulo by
zero".
* libtiff/tif_read.c (TIFFStartTile): Fix Coverity 715973 and
715974 "Division or modulo by zero".
2015-05-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* libtiff/tif_dir.c (TIFFNumberOfDirectories): Quiet Coverity
1134470 "Logically dead code" by making the roll-over check
explicit.
* libtiff/tif_luv.c (LogLuvDecodeTile): Fix Coverity 991227
"Division or modulo by zero".
(LogLuvDecodeStrip): Fix Coverity 991239 "Division or modulo by
zero".
(LogLuvEncodeStrip): Fix Coverity 991240 "Division or modulo by
zero".
(LogLuvEncodeTile): Fix Coverity 991241 "Division or modulo by
zero".
* libtiff/tif_dirread.c (TIFFReadDirEntryDoubleArray): Fix
Coverity 298626 "Logically dead code".
(TIFFReadDirEntryFloatArray): Fix Coverity 298627 "Logically dead
code".
(TIFFReadDirEntryIfd8Array): Fix Coverity 298628 "Logically dead
code".
(TIFFReadDirEntrySlong8Array): Fix Coverity 298629 "Logically dead
code"
* libtiff/tif_dir.c (TIFFNumberOfDirectories): Don't depend on ++
operator precedenc in evaluation. Might quench Coverity 1134470
"Logically dead code".
* libtiff/tif_jpeg.c (JPEGDecode): Fix Coverity 602597 "Operands
don't affect result". This change uses ifdefs to include
applicable code based on properties of libjpeg. Still needs to be
re-tested with 12-bit "6b" and "MK1".
2015-05-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* libtiff/tif_dirwrite.c (_TIFFRewriteField): Fix Coverity 1024310
"Resource leak".
* libtiff/tif_ojpeg.c (OJPEGReadHeaderInfoSecStreamDht): Fix
Coverity 601720 "Resource leak".
* libtiff/tif_jpeg.c (JPEGCleanup): Fix Coverity 298624
"Dereference before null check".
* libtiff/tif_ojpeg.c (OJPEGReadBufferFill): Fix Coverity 603400
"Missing break in switch".
* contrib/addtiffo/tif_overview.c (TIFF_DownSample): Check buffer
size calculation for overflow.
* contrib/addtiffo/addtiffo.c (main): Possibly address Coverity
1024226 "Untrusted value as argument".
* tools/gif2tiff.c (readgifimage): Fix Coverity 1024222 "Untrusted
value as argument".
(checksignature): Fix Coverity 1024894 "Ignoring number of bytes
read".
(readextension): Fix Coverity 1024893 "Ignoring number of bytes
read".
(readgifimage): Fix Coverity 1024890 "Ignoring number of bytes
read".
(readraster): Fix Coverity 1024891 "Ignoring number of bytes
read".
(readgifimage): Fix Coverity 1024892 "Ignoring number of bytes
read".
* tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 1024181
"Structurally dead code".
* tools/raw2tiff.c (main): Fix Coverity 1024887 "Unchecked return
value from library".
(guessSize): Fix Coverity 1024888 "Unchecked return value from
library".
(guessSize): Fix Coverity 1214162 "Ignoring number of bytes read".
(guessSize): Fix Coverity 1024889 "Unchecked return value from
library".
* tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 298621
"Resource leak".
(t2p_readwrite_pdf_image): Fix Coverity 1024181 "Structurally dead
code".
(t2p_write_pdf): Fix Coverity 1227690 "Unused value".
2015-05-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* contrib/iptcutil/iptcutil.c (formatIPTC): Fix Coverity 1024468
"Infinite loop".
(formatIPTC): Fix Coverity 1024727 "Truncated stdio return value".
(formatIPTC): Fix Coverity 1214240 "Untrusted loop bound".
2015-05-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix
Coverity 298615 "Resource leak".
(TIFFGetOvrBlock): Fix Coverity 1024649 "Unintended sign
extension".
* tools/bmp2tiff.c (main): Fix Coverity 1024225 "Untrusted value
as argument".
(main): Fix Coverity 1024678 "Unchecked return value from
library".
(main): Fix Coverity 1024679 "Unchecked return value from
library".
(main): Fix Coverity 1214160 "Ignoring number of bytes read".
* contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix
Coverity 298615 "Resource leak".
* tools/tiffcp.c: Fix Coverity 1024306, 1024307, 1024308, 1024309
"Resource leak".
* tools/tiffsplit.c (cpTiles): Fix Coverity 1024304 "Resource
leak".
(cpStrips): Fix Coverity 1024305 "Resource leak".
2015-05-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
* tools/ras2tiff.c: Fix Sun Raster header definition to be safe
for 64-bit systems. Add some header validations. Should fix many
Coverity issues.
(main): Fix Coverity 1301206: "Integer handling issues (BAD_SHIFT)".
(main): Quiet Coverity 1024223 "Untrusted value as argument".
* tools/tiffmedian.c (GetInputLine): Fix Coverity 1024795 "Nesting
level does not match indentation".
(get_histogram): Quiet Coverity 1024386 "Out-of-bounds read".
This was a benign mis-diagnosis but added code to enforce against
buffer overflow.
* tools/tiffcrop.c (ROTATE_ANY): Fix Coverity 1294542 "Logical
vs. bitwise operator".
(readContigStripsIntoBuffer): Fix Coverity 1024545 "Division or
modulo by zero".
(readContigTilesIntoBuffer): Fix Coverity 1024586 "Logically dead
code".
(writeSingleSection): Fix Coverity 1024796 "Nesting level does not
match indentation".
(writeCroppedImage): Fix Coverity 1024797 "Nesting level does not
match indentation".
(loadImage): Fix Coverity 1299741 "Dereference before null check".
(loadImage): Fix Coverity 1299740 "Out-of-bounds write".
2015-03-02 Even Rouault <even.rouault@spatialys.com>
* tools/tiffdither.c: check memory allocations to avoid writing to
NULL pointer. Also check multiplication overflow. Fixes #2501,
CVE-2014-8128. Derived from patch by Petr Gajdos.
|
|
CVE-2014-8127
CVE-2014-8128
CVE-2014-8129
CVE-2014-8130 (likely)
Remaining unfixed vulnerabilities: CVE-2014-9655, CVE-2015-1547 (but
these are unfixed upstream AFAICS).
ok wiz
|
|
|
|
and use-after-free problems in the "gif2tiff" and "tiff2pdf"
command line tools (the library is not affected)
(CVE-2013-4231, CVE-2013-4232, CVE-2013-4244)
bump PKGREV
|
|
"tiff2pdf" tool by crafted TIFF image files
(CVE-2013-1960/61)
bump PKGREV
|
|
due to integer overflow in the ppm2tiff cmd line tool (CVE-2012-4564)
bump PKGREV
|
|
MAJOR CHANGES:
None
CHANGES IN THE SOFTWARE CONFIGURATION:
Updated to use Automake 1.12.4. Avoids security problem with 'make distcheck' (CVE-2012-3386).
CHANGES IN LIBTIFF:
Various memory buffer access fixes.
Fix handling when writing RGBA jpeg compressed imagery (http://trac.osgeo.org/gdal/ticket/4732).
Fix to work properly with IJG JPEG 7+.
New functions TIFFFieldTag(), TIFFFieldName(), TIFFFieldDataType(), TIFFFieldPassCount(), TIFFFieldReadCount(), TIFFFieldWriteCount() to use as external accessors for the opaque type TIFFField.
Fix bug rewriting image tiles in a compressed file (http://trac.osgeo.org/gdal/ticket/4771).
Add TIFF/FX tag support in libtiff.
CHANGES IN THE TOOLS:
tiff2pdf: Fail when TIFFSetDirectory() fails. This prevents core dumps or perhaps even arbitrary code execution when processing a corrupt input file (CVE-2012-3401).
tiff2pdf: Fix two places where t2p_error didn't get set after a malloc failure. No crash risk AFAICS, but the program might not report exit code 1 as desired.
CHANGES IN THE CONTRIB AREA:
None
|
|
Bump PKGREVISION.
|
|
* tif_getimage.c: added support for _SEPARATED CMYK images.
* tif_getimage.c: Added support for greyscale + alpha.
* Added TIFFCreateCustomDirectory() and TIFFCreateEXIFDirectory()
functions.
* tif_print.c: Lots of fixes around printing corrupt or hostile input.
* Improve handling of corrupt ycbcrsubsampling values.
* tif_unix.c: use strerror to get meaningful error messages.
* tif_jpeg.c: fix serious bugs in JPEGDecodeRaw().
* tif_jpeg.c: Fix size overflow (zdi-can-1221,CVE-2012-1173).
|
|
Bump PKGREVISION.
|
|
|
|
Many bugs and security issues are resolved in this stable release.
|
|
(http://bugzilla.maptools.org/show_bug.cgi?id=2300)
to fix possible buffer overflow in the "thunder" decoder (CVE-2011-1167)
bump PKGREV
|
|
"libtiff" CVS repository.
|
|
following vulnerabilities:
- CVE-2010-2233
- CVE-2010-2482
- CVE-2010-2483
- CVE-2010-2595
- CVE-2010-2597
There is no patch for CVE-2010-2596 yet. But it is low risk (an assertion
gets triggered) and cannot be exploited after the above vulnerabilities
are fixed (at least if I understood correctly).
No butcher was involved in fixing this package.
|
|
MAJOR CHANGES:
* New tiffcrop utility contributed by Richard Nolde. tiffcrop does the
same as tiffcp, but also can crop, extract, rotate and mirror images.
* tif_jbig.c: Added support for JBIG compression scheme (34661 code),
contributed by Lee Howard.
* Totally new implementation of OJPEG module from Joris Van Damme. No
need to patch libjpeg anymore. Many OJPEG files should be supported
now that was not supported previously.
------------------------------------------------
CHANGES IN THE SOFTWARE CONFIGURATION:
* tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
compatibility stuff from Mateusz Loskot.
* Rename config.h.vc and tif_config.h.vc to config.vc.h and
tif_config.vc.h for easier identification by folks using an IDE.
* configure, configure.ac: OJPEG support enabled by default (i.e., whe
the conformant JPEG support enabled).
* README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: Added
support for OpenVMS by Alexey Chupahin.
* nmake.opt: use /EHsc for VS2005 compatibility. Also define
_CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
------------------------------------------------
CHANGES IN LIBTIFF:
* tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to bsearch() on a
NULL fieldinfo list. (_TIFFFindFieldInfoByName): Don't attempt to
lfind() on a NULL fieldinfo list.
* tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it will convert
from decompressor to compressor or compress to decompress if required
by the force arguments. This works around a problem in where the
JPEGFixupTestSubsampling() may cause a decompressor to be setup on a
directory when later a compressor is required with the force flag set.
Occurs with the addtiffo program for instance.
* tif_dirwrite.c: Fixed swapping of byte arrays stored in-place in tag
offsets as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
* tif_getimage.c: workaround for 'Fractional scanline' error reading
OJPEG images with rowsperstrip that is not a multiple of vertical
subsampling factor. This bug is mentioned in
http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 and
http://www.asmail.be/msg0054766825.html
* tif_dirread.c: Added special function to handle SubjectDistance EXIF
tag as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1362
* tif_dirread.c, tif_read.c: Type of the byte counters changed from
tsize_t to uint32 to be able to work with data arrays larger than 2GB.
Fixes bug http://bugzilla.remotesensing.org/show_bug.cgi?id=89 Idea
submitted by Matt Hancher.
* tif_dir.c: Workaround for incorrect TIFFs with ExtraSamples == 999
produced by Corel Draw. As per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1490
* tif_write.c: TIFFAppendToStrip() - clear sorted flag if we move a
strip. http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
* tif_fax3.c: Save the state of printdir codec dependent method.
* tif_jpeg.c: Save the state of printdir codec dependent method as per
bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1273
* tif_win32.c: Fixed problem with offset value manipulation as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1322
* tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple
vulnerabilities, as per Gentoo bug ():
http://bugs.gentoo.org/show_bug.cgi?id=142383
* tif_lzw.c, tif_zip.c: Fixed problems with mixing encoding and decoding
on the same read-write TIFF handle. The LZW code can now maintain
encode and decode state at the same time. The ZIP code will switch
back and forth as needed.
http://bugzilla.remotesensing.org/show_bug.cgi?id=757
* tif_msdos.c: Avoid handle leak for failed opens. c/o Thierry Pierron
* tif_dirwrite.c: take care not to flush out buffer of strip/tile data
in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates to bug
report by Peng Gao with black strip at bottom of images.
* tif_dirwrite.c: make sure to use uint32 for wordcount in
TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. It
already seems to have been done for other field types. Needed for
"tiffset" on files with geotiff ascii text.
* tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
* tif_dirread.c: Move IFD fetching code in the separate function
TIFFFetchDirectory() avoiding code duplication in TIFFReadDirectory()
and TIFFReadCustomDirectory().
* tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
files. Modified TIFFReadDirectory() to not invoke
EstimateStripByteCounts() for case where entry 0 and 1 are unequal but
one of them is zero.
http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
* tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping checking code
in the separate function TIFFCheckDirOffset().
* tif_aux.c: Added _TIFFCheckRealloc() function.
* tif_fax3.c: Fixed problems in fax decoder as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1194
* tif_jbig.c: Added support for JBIG compression scheme (34661 code)
contributed by Lee Howard. As per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=896
* tif_getimage.c: Added support for planarconfig separate non-subsampled
YCbCr (i.e. separate YCbCr with subsampling [1,1]).
* tif_getimage.c: Revision of all RGB(A) put routines:
* Conversion of unassociated alpha to associated alpha now done
with more performant LUT, and calculation more correct.
* Conversion of 16bit data to 8bit data now done with more
performant LUT, and calculation more correct
* Bugfix of handling of 16bit RGB with unassociated alpha
* tif_ojpeg.c: totally new implementation
* tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling of OJPEG images
in favor of tif_getimage.c native handling of YCbCr and desubsampling.
* tif_jpeg.c: JPEGVSetField() so that altering the photometric
interpretation causes the "upsampled" flag to be recomputed. Fixes
peculiar bug where photometric flag had to be set before jpegcolormode
flag.
------------------------------------------------
CHANGES IN THE TOOLS:
* tiff2ps.c: Added support 16-bit images as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1566. Patch from
William Bader.
* tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and significant
upgrade of the whole utility as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1560. Now we don't
need tiffiop.h in tiff2pdf anymore and will open output PDF file using
TIFFClientOpen() machinery as it is implemented by Leon Bottou.
* tiffcrop.c: New tiffcrop utility contributed by Richard Nolde. As per
bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1383
* tiff2pdf.c: Do not assume inches when the resolution units do not
specified. As per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1366
* tiffset.c: Properly handle tags with TIFF_VARIABLE writecount. As per
bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350
* tif2rgba.c: This utility does not work properly on big-endian
architectures. It was fixed including the bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
* tiff2pdf.c: Fix handling of -q values.
http://bugzilla.remotesensing.org/show_bug.cgi?id=587
* tiffcmp.c: Fixed floating point comparison logic as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1191
* tiff2pdf.c: Fixed buffer overflow condition in t2p_write_pdf_string()
as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1196
------------------------------------------------
CHANGES IN THE CONTRIB AREA:
* contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
blocks in TIFF_DownSample_Subsampled() (bug 1542).
* contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. Though it is
still far from the state of being working and useful.
|
|
tools taken from MapTools Bugzilla. This fixes CVE-2009-2347.
|
|
(http://bugzilla.maptools.org/show_bug.cgi?id=2065)
to fix a buffer underflow which can cause DOS or system access
(SA35515)
bump PKGREVISION
|