CVE-2020-19131

7.5 HIGH

📋 TL;DR

This vulnerability is a buffer overflow in LibTiff's tiffcrop utility that allows attackers to cause denial of service through the invertImage() function. It affects systems using vulnerable versions of LibTiff to process TIFF images. Attackers can exploit this by providing specially crafted TIFF files.

💻 Affected Systems

Products:
  • LibTiff
  • Applications using LibTiff library
  • TIFF processing utilities
Versions: LibTiff v4.0.10 and potentially earlier versions
Operating Systems: Linux, Windows, macOS, Unix-like systems
Default Config Vulnerable: ⚠️ Yes
Notes: Affects tiffcrop utility specifically; other LibTiff components may also be vulnerable. Applications that link against vulnerable LibTiff versions are affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise if combined with other vulnerabilities, though this specific CVE primarily enables denial of service.

🟠

Likely Case

Application crash and denial of service when processing malicious TIFF files, potentially disrupting image processing services.

🟢

If Mitigated

Limited impact with proper input validation and memory protections; denial of service may still occur but without escalation.

🌐 Internet-Facing: MEDIUM - Exploitable if TIFF processing services are exposed, but requires specific image processing functionality.
🏢 Internal Only: LOW - Typically requires user interaction or specific TIFF processing workflows.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires providing a malicious TIFF file to the vulnerable function. Public proof-of-concept exists in bug reports.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: LibTiff 4.1.0 and later

Vendor Advisory: http://bugzilla.maptools.org/show_bug.cgi?id=2831

Restart Required: Yes

Instructions:

1. Update LibTiff to version 4.1.0 or later. 2. Recompile applications using LibTiff. 3. Restart affected services. 4. For Linux distributions, use package manager: 'sudo apt update && sudo apt upgrade libtiff5' (Debian/Ubuntu) or 'sudo yum update libtiff' (RHEL/CentOS).

🔧 Temporary Workarounds

Disable tiffcrop utility

linux

Remove or restrict access to tiffcrop binary to prevent exploitation

sudo chmod 000 /usr/bin/tiffcrop
sudo mv /usr/bin/tiffcrop /usr/bin/tiffcrop.disabled

Input validation for TIFF files

all

Implement strict validation of TIFF files before processing

🧯 If You Can't Patch

  • Implement application-level input validation for TIFF files
  • Use memory protection mechanisms like ASLR and DEP

🔍 How to Verify

Check if Vulnerable:

Check LibTiff version: 'tiffinfo -v' or 'dpkg -l | grep libtiff' or 'rpm -qa | grep libtiff'. Version 4.0.10 is vulnerable.

Check Version:

tiffinfo -v 2>&1 | head -1

Verify Fix Applied:

Confirm LibTiff version is 4.1.0 or later: 'tiffinfo -v' should show patched version.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with segmentation faults in tiffcrop
  • Memory access violation errors
  • Abnormal termination of TIFF processing services

Network Indicators:

  • Unusual TIFF file uploads to image processing endpoints
  • Large or malformed TIFF file transfers

SIEM Query:

process_name:tiffcrop AND (event_type:crash OR exit_code:139 OR exit_code:11)

🔗 References

📤 Share & Export