CVE-2015-7554
Critical · 9.8CVSS
9.8
EPSS
4.2%
Published
Jan 8, 2016
CISA due date
—
Cloudanix analysis
A problem in a widely used picture-file library lets attackers crash programs or potentially seize control simply by making a victim open a specially made image.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The _TIFFVGetField function in tif_dir.c performs an invalid memory write when parsing crafted extension tag field data in TIFF images, resulting in denial of service via crash or potential unspecified further impact such as code execution.
Why it matters to the business
Applications relying on libtiff for image processing face service disruptions or full system compromise from untrusted TIFF files, increasing risk across document viewers, scanners, and graphics tools that remain unpatched after more than a decade.
How an attack unfolds
An attacker creates a TIFF image containing malicious extension tag data that triggers the flawed field handling path, then delivers the file to a target application using the vulnerable libtiff library; public exploits are available and the flaw can be triggered remotely without authentication.
How to fix it
Update libtiff to a version newer than 4.0.6 that resolves the memory corruption; apply vendor patches immediately where available, replace libtiff with a maintained fork if upstream fixes are absent, and disable processing of untrusted TIFF images as a temporary control.
How to confirm the fix worked
Confirm installed libtiff version exceeds 4.0.6, run regression tests using publicly available proof-of-concept TIFF samples that target extension tags, and verify absence of crashes or memory errors under fuzzing.
Typical attack path
- Craft a TIFF image embedding malicious extension tag field data
- Deliver the file via network transfer, email attachment, or web download
- Target application invokes libtiff to parse the TIFF
- Invalid memory write occurs during _TIFFVGetField processing
- Resulting crash or code execution grants attacker objectives
How to detect it
Review application and system logs for segmentation faults or access violations occurring during TIFF file handling; correlate crashes with recent receipt of TIFF images and inspect for patterns matching extension tag parsing failures.
What your security team should do
- Immediately inventory all systems and applications using libtiff and schedule upgrades
- Block or sandbox processing of TIFF files from untrusted sources until patched
- Deploy application whitelisting and memory protection mitigations where updates cannot be applied quickly
- Add TIFF parsing to regular vulnerability scanning and patch management workflows
The record
The _TIFFVGetField function in tif_dir.c in libtiff 4.0.6 allows attackers to cause a denial of service (invalid memory write and crash) or possibly have unspecified other impact via crafted field data in an extension tag in a TIFF image.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | tiff | 0 | 4.0.7-7 |
| Debian:12 | tiff | 0 | 4.0.7-7 |
| Debian:13 | tiff | 0 | 4.0.7-7 |
| Debian:7 | tiff | 0 | 4.0.2-6+deb7u7 |
| Debian:7 | tiff3 | 0 | 3.9.6-11+deb7u2 |
| Mageia:5 | libtiff | 0 | 4.0.6-1.4.mga5 |
| Red Hat:enterprise_linux:6::client | libtiff | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::client | libtiff-debuginfo | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::client | libtiff-devel | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::client | libtiff-static | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::computenode | libtiff | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::computenode | libtiff-debuginfo | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::computenode | libtiff-devel | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::computenode | libtiff-static | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::server | libtiff | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::server | libtiff-debuginfo | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::server | libtiff-devel | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::server | libtiff-static | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::workstation | libtiff | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::workstation | libtiff-debuginfo | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::workstation | libtiff-devel | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:6::workstation | libtiff-static | 0 | 0:3.9.4-18.el6_8 |
| Red Hat:enterprise_linux:7::client | libtiff | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::client | libtiff-debuginfo | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::client | libtiff-devel | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::client | libtiff-static | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::client | libtiff-tools | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::computenode | libtiff | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::computenode | libtiff-debuginfo | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::computenode | libtiff-devel | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::computenode | libtiff-static | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::computenode | libtiff-tools | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::server | libtiff | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::server | libtiff-debuginfo | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::server | libtiff-devel | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::server | libtiff-static | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::server | libtiff-tools | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::workstation | libtiff | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::workstation | libtiff-debuginfo | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::workstation | libtiff-devel | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::workstation | libtiff-static | 0 | 0:4.0.3-25.el7_2 |
| Red Hat:enterprise_linux:7::workstation | libtiff-tools | 0 | 0:4.0.3-25.el7_2 |
| SUSE:Linux Enterprise Desktop 11 SP4 | tiff | 0 | 3.8.2-141.163.1 |
| SUSE:Linux Enterprise Desktop 12 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Server 11 SP4 | tiff | 0 | 3.8.2-141.163.1 |
| SUSE:Linux Enterprise Server 11 SP4 | tiff | 0 | 3.8.2-141.169.3.1 |
| SUSE:Linux Enterprise Server 11 SP4 | tiff | 0 | 3.8.2-141.169.9.1 |
| SUSE:Linux Enterprise Server 12 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Server 12 SP1 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Server 12 SP2 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Server 12 SP3 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | tiff | 0 | 3.8.2-141.163.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | tiff | 0 | 3.8.2-141.169.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | tiff | 0 | 3.8.2-141.169.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | tiff | 0 | 3.8.2-141.163.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | tiff | 0 | 3.8.2-141.169.3.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | tiff | 0 | 3.8.2-141.169.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | tiff | 0 | 4.0.6-19.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | tiff | 0 | 4.0.9-44.7.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | tiff | 0 | 4.0.9-44.7.1 |
| Ubuntu:14.04:LTS | tiff | 0 | 4.0.3-7ubuntu0.6 |
| Ubuntu:16.04:LTS | tiff | 0 | 4.0.6-1ubuntu0.1 |
| openSUSE:Tumbleweed | tiff | 0 | 4.0.7-1.1 |
Related vulnerabilities
- CVE-2023-52356 A segment fault (SEGV) flaw was found in libtiff that could be triggered by passing a… Also affects tiff
- CVE-2023-6277 An out-of-memory flaw was found in libtiff. Also affects tiff
- CVE-2023-3576 A memory leak flaw was found in Libtiff's tiffcrop utility. Also affects tiff
- CVE-2023-30086 Buffer Overflow vulnerability found in Libtiff V.4.0.7 allows a local attacker to cause a… Also affects tiff
- CVE-2017-17095 tools/pal2rgb.c in pal2rgb in LibTIFF 4.0.9 allows remote attackers to cause a denial of… Also affects tiff
- CVE-2014-8127 LibTIFF 4.0.3 allows remote attackers to cause a denial of service (out-of-bounds read… Also affects tiff
- CVE-2016-10266 LibTIFF 4.0.7 allows remote attackers to cause a denial of service (divide-by-zero error… Also affects tiff
- CVE-2016-3186 Buffer overflow in the readextension function in gif2tiff.c in LibTIFF 4.0.6 allows… Also affects tiff