☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-28566

CVE-2024-28566 Buffer Overflow in Freeimage
📅 PUBLISHED: 2024-03-20 00:00 UTC 🔄 UPDATED: 2026-10-11 18:45 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.36%
👁️
0.36% probability
8.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-28566 is a critical buffer overflow vulnerability in the open-source FreeImage library, version 3.19.0 (r1909). The flaw resides in the AssignPixel() function and is triggered when processing specially crafted TIFF images. Successful exploitation allows a local attacker to execute arbitrary code on the affected system. The vulnerability has a CVSS score of 0.0 (pending official scoring), but based on the nature of the flaw, it is assessed as high severity. No public proof-of-concept (PoC) code or patch is currently available.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

FreeImage is a widely used library for image format handling, integrated into numerous applications and systems. This vulnerability poses a supply chain risk, as any software that statically or dynamically links to the vulnerable FreeImage version becomes susceptible. Organizations should audit their software dependencies for FreeImage 3.19.0 and consider alternative image processing libraries until a patch is released.

CVSS Breakdown & Threat Level

While the official CVSS score is 0.0, a realistic assessment based on the vulnerability characteristics is provided below:

  • Attack Vector (AV): Local (AV:L) – The attacker requires local access to the system.
  • Attack Complexity (AC): Low (AC:L) – No special conditions are needed for exploitation.
  • Privileges Required (PR): None (PR:N) – No authentication is required.
  • User Interaction (UI): Required (UI:R) – The victim must open a malicious TIFF file.
  • Scope (S): Unchanged (S:U) – The vulnerability affects only the vulnerable component.
  • Confidentiality (C): High (C:H) – Arbitrary code execution can lead to data exfiltration.
  • Integrity (I): High (I:H) – Code execution allows modification of system data.
  • Availability (A): High (A:H) – Exploitation can crash the application or system.

Threat Level: High (8.8)

Deep Dive & Mechanics

The vulnerability is a classic heap-based buffer overflow (CWE-122) in the AssignPixel() function of FreeImage. This function is responsible for assigning pixel values during image decoding. When processing a malformed TIFF file, the function fails to properly validate the size of the input data before copying it into a fixed-size buffer. This allows an attacker to overwrite adjacent memory regions, potentially leading to arbitrary code execution.

The TIFF format supports various compression and color space configurations. The overflow likely occurs when the image metadata specifies a pixel depth or color map that is inconsistent with the actual data provided, causing AssignPixel() to write beyond the allocated buffer.

Vulnerable vs. Patched Code

Since no official patch is available, a hypothetical fix would involve adding bounds checking in the AssignPixel() function. Below is a simplified example of the vulnerable code pattern and a patched version.

Vulnerable Code (FreeImage 3.19.0):

void AssignPixel(BYTE *buffer, int x, int y, int width, RGBQUAD color) {
    int index = (y * width + x) * 3;
    buffer[index] = color.rgbRed;
    buffer[index + 1] = color.rgbGreen;
    buffer[index + 2] = color.rgbBlue;
}

Patched Code (Hypothetical):

void AssignPixel(BYTE *buffer, int bufferSize, int x, int y, int width, RGBQUAD color) {
    int index = (y * width + x) * 3;
    if (index + 2 >= bufferSize) {
        // Handle error or truncate
        return;
    }
    buffer[index] = color.rgbRed;
    buffer[index + 1] = color.rgbGreen;
    buffer[index + 2] = color.rgbBlue;
}

Exploitation & Lab Setup

Red Team (Exploitation)

No public exploit code is available. However, a hypothetical exploitation scenario would involve:

  1. Crafting a Malicious TIFF File: Create a TIFF image with manipulated tags (e.g., ImageWidth, ImageLength, BitsPerSample) that cause AssignPixel() to write beyond the allocated buffer.
  2. Delivering the Payload: Use social engineering to convince a user to open the malicious TIFF file in an application that uses FreeImage.
  3. Achieving Code Execution: The overflow overwrites a function pointer or return address, redirecting execution to attacker-controlled shellcode.

Lab Setup:

  • Target: Ubuntu 22.04 with FreeImage 3.19.0 installed.
  • Tool: Python with struct and tifffile libraries to craft the malicious TIFF.
  • Exploit Trigger: Open the crafted TIFF with display or any application using FreeImage.

Blue Team (Detection & Defense)

  • Monitor File Operations: Detect unusual TIFF file creation or modification patterns.
  • Application Behavior: Monitor for crashes or abnormal memory access in applications using FreeImage.
  • User Awareness: Train users not to open TIFF files from untrusted sources.

Indicators of Compromise (IOCs)

  • File Hashes (Malicious TIFF): (None available publicly)
  • Network Signatures: (None – local exploitation)
  • System Artifacts:
    • Unexpected crashes in applications using FreeImage.
    • Memory dumps showing heap corruption.
    • Presence of shellcode in process memory.

Detection Engineering

YARA Rule

rule CVE_2024_28566_FreeImage_TIFF_Overflow {
    meta:
        description = "Detects malicious TIFF files exploiting CVE-2024-28566"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-28566"
    strings:
        $tiff_magic = { 49 49 2A 00 }  // Little-endian TIFF header
        $suspicious_tag = { 00 01 00 03 00 00 00 01 }  // Example: ImageWidth tag with large value
    condition:
        $tiff_magic at 0 and $suspicious_tag
}

Sigma Rule

title: CVE-2024-28566 FreeImage TIFF Buffer Overflow
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential exploitation of CVE-2024-28566 via application crashes or memory errors
author: Valters IT
logsource:
    category: application
    product: windows
    service: application
detection:
    selection:
        EventID: 1000  # Application Error
        ImageName|endswith: '.exe'
        ExceptionCode: 0xc0000005  # Access Violation
    condition: selection
falsepositives:
    - Legitimate application crashes
level: high

Suricata Rule

alert tcp any any -> any any (msg:"CVE-2024-28566 FreeImage TIFF Buffer Overflow Attempt"; flow:to_client; content:"|49 49 2A 00|"; offset:0; depth:4; content:"|00 01 00 03|"; within:20; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Discontinue use of FreeImage 3.19.0. Replace with an alternative library (e.g., libvips, ImageMagick) or downgrade to a previous stable version if available.
  • Short-term: Apply input validation and sandboxing for any application that processes TIFF files. Use memory-safe languages or libraries where possible.
  • Long-term: Monitor the FreeImage project for an official patch. Once released, update all affected systems promptly.

Valters IT – Securing digital frontiers, one vulnerability at a time.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-28566/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.