LibTIFF | |
Collapsible: | yes |
Author: | Sam Leffler, Silicon Graphics |
Programming Language: | C |
License: | BSD-like licence |
LibTIFF is a library for reading and writing Tag Image File Format (abbreviated TIFF) files. The set also contains command line tools for processing TIFFs. It is distributed in source code and can be found as binary builds for all kinds of platforms. The LibTIFF software was originally written by Sam Leffler while working for Silicon Graphics.
Support for BigTIFF, files larger than 4 GiB, was included for LibTIFF 4.0.
As of version 4.6.0 several tools are no longer built by default, as they suffered from lack of maintenance. These tools are still available as source code. The only remaining tools supported are: tiffinfo, tiffdump, tiffcp, tiffset and tiffsplit.
A TIFF file is composed of small descriptor blocks containing offsets into the file which point to a variety of data types. Incorrect offset values can cause programs to attempt to read erroneous portions of the file or attempt to read past the physical end of file. Improperly encoded packet or line lengths within the file can cause rendering programs which lack appropriate boundary checks to overflow their internal buffers.
Multiple buffer overflows have been found in LibTIFF.[1] [2] [3] Some of these have also been used to execute unsigned code on the PlayStation Portable,[4] as well as run third-party applications on the iPhone and iPod Touch firmware.[5]