Skip to main content

FreeImage CVE-2026-118752

| EUVDEUVD-2026-112496 HIGH
Out-of-bounds Write (CWE-787)
2026-10-28 VulnCheck GHSA-pqw8-2jmw-8f2c
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious IFF/LBM PBM file with cross-scanline RLE runs
  2. Exploit
    Deliver file to victim for opening
  3. Execution
    ByteRun1 decoder copies run past bitmap end
  4. Impact
    Write up to 127 controlled bytes into adjacent heap, corrupt memory

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an application built on the danoli3 FreeImage fork (before 3.19.22) to decode an attacker-supplied IFF/LBM image that uses the PBM ByteRun1 RLE compression path, with RLE runs deliberately constructed to straddle scanline ends so the run copy overruns the heap-allocated bitmap. The victim must open or process the file - UI:P / passive user interaction - and the vector is local (AV:L), so there is no remote unauthenticated path; no authentication is required (PR:N). Limiting factors: the attacker needs the target application to actually route untrusted images through this specific IFF PBM decoder, and the overflow is bounded to roughly 127 bytes of controlled data past the allocation, so reliable code execution depends on heap layout; applications that only process trusted images are not realistically exposed.

Impact

The CVSS 4.0 vector (8.5) is driven by the triple-high impact (VC:H/VI:H/VA:H) of a 127-byte controlled heap out-of-bounds write (CWE-787), but the exploitability metrics temper real-world urgency: AV:L means there is no network vector - an attacker cannot reach this remotely and must get a crafted file onto the system - and UI:P (passive user interaction) means a victim must open or process the malicious IFF/LBM PBM file in an application using this library. No EPSS score was provided and the CVE is not listed in CISA KEV, so there is no quantitative or confirmed signal of active exploitation. The vuln.today decision label is 'this_week' (not act_now/emergency), which aligns with a serious-but-not-under-active-attack posture: a genuine memory-corruption bug worth patching promptly, but not a drop-everything internet-facing emergency. The dominant risk driver is how the affected software is deployed - if it silently decodes untrusted user-supplied images (thumbnailers, upload pipelines, viewers), the UI:P barrier is effectively met routinely and risk rises accordingly; in deployments that only process trusted local files, practical risk is lower. The source diff confirms the mechanism (missing bounds check on bytes written versus scanline length in the ByteRun1 RLE path), so this is a well-substantiated defect rather than a speculative high-CVSS entry.

Exploit ScenarioDerived

An attacker crafts a malicious IFF/LBM image containing PBM ByteRun1 RLE runs that straddle scanline boundaries and delivers it to a victim (email attachment, upload, or a file opened by an application that uses the danoli3 FreeImage fork). When the victim's application decodes the image, the unbounded run copy writes up to 127 attacker-controlled bytes past the heap-allocated bitmap, corrupting adjacent heap memory. No public exploit identified at time of analysis; exploitation requires the victim to open/process the file (UI:P) and there is no remote network vector.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

A heap buffer overflow in the PBM RLE (ByteRun1) decoder of PluginIFF.cpp in the danoli3 FreeImage fork lets a crafted IFF/LBM image write up to 127 attacker-controlled bytes past the heap-allocated bitmap when a run straddles a scanline end. Applications built on the fork before 3.19.22 are affected; the vector is local (AV:L) with passive user interaction (UI:R) and no authentication requirement (PR:N), so exposure depends on a victim opening a malicious image in a program that routes untrusted IFF/LBM files through this decoder. Exploitation is not confirmed in the wild and no public exploit has been identified at time of analysis, though the vendor has released 3.19.22 with the fix.

RemediationAI

Vendor-released patch: upgrade the danoli3 FreeImage fork to 3.19.22 (https://github.com/danoli3/FreeImage/releases/tag/3.19.22), which contains PR #161; the underlying fixes are commits e1105d3b464b679f0525c6178d9ccf49d55cf712 and cf173c16354274dc8fb739dc395fc7f32efe7d45, either of which can be applied if a full release upgrade is not possible. Because the library is statically or dynamically linked into downstream applications, upgrading the library alone is insufficient - every application shipping the embedded FreeImage build must be rebuilt against 3.19.22 and redeployed. No vendor-documented workaround is given in the available sources and updating is the only complete fix; in the interim, exposure is limited to applications that route untrusted IFF/LBM files through the PBM ByteRun1 decoder, so preventing untrusted images from reaching that loader path (for example by restricting which formats an application accepts) reduces risk, at the cost of losing legitimate IFF/LBM support.

Affected VersionsENISA

FreeImage 0 ≤3.18.0
FreeImage 0 <3.19.22

Affected Packages

euvd freeimage fix: 3.19.22

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

FreeImage is a C/C++ image loading and saving library used by many desktop and server applications; the danoli3 fork maintains the codebase and ships its own release tags. PluginIFF.cpp implements the IFF/LBM loader, and for PBM-encoded bitmaps it expands ByteRun1 (PackBits-style) RLE data: a control byte indicates a literal run or a repeated-byte run, followed by the payload. The decoder copied each expanded run into the destination scanline without checking how many bytes had already been written, so a run whose copy crosses the end of the scanline continues writing into adjacent heap memory. The result is a CWE-787 out-of-bounds write, bounded to roughly 127 bytes per run, which can corrupt heap metadata or neighbouring allocations in the attacker's favour. The upstream fix in PR #161 adds an explicit scanline boundary test that breaks out of the run copy once the bytes written reach the line length, and also adds parentheses to the scanline-length expression FreeImage_GetLine(dib) + 1 & ~1 for clarity (operator precedence made the parenthesised and unparenthesised forms equivalent, so the bounds check is the substantive change). Whether the same flaw is present in other FreeImage lineages is not established by the available sources, which document and patch only the danoli3 fork.

Know when Freeimage gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.5 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

A local crafted file the victim must open gives AV:L and UI:R with PR:N; the controlled heap write plausibly yields high confidentiality, integrity and availability impact without scope change.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

FreeImage (danoli3 fork) before 3.19.22 contains a heap buffer overflow vulnerability in the PBM RLE decoder of PluginIFF.cpp that lacks bounds checks on ByteRun1 runs. Attackers can supply a crafted IFF/LBM PBM file with runs straddling scanline ends to write up to 127 controlled bytes past the heap-allocated bitmap.

Executive ViewAI

Why It Matters

A heap buffer overflow in the danoli3 FreeImage fork (CVE-2026-118752) can be triggered when a user opens a maliciously crafted IFF/LBM image in any application built on versions before 3.19.22. This could allow an attacker to corrupt memory and potentially execute code under the user's privileges, impacting workstation integrity and data confidentiality. Leadership should prioritize patching or upgrading affected software because the vulnerability requires minimal user interaction and affects a widely used image processing library.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Low
niche maintained community fork of an image library, limited production footprint
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

CVE-2025-70968 CRITICAL POC
9.8 Jan 14

FreeImage 3.18.0 has a use-after-free in the TARGA plugin's loadRLE function. Processing a malicious TGA file can lead t

CVE-2023-47992 HIGH POC
8.8 Jan 09

An integer overflow vulnerability in FreeImageIO.cpp::_MemoryReadProc in FreeImage 3.18.0 allows attackers to obtain sen

CVE-2023-47994 HIGH POC
8.8 Jan 09

An integer overflow vulnerability in LoadPixelDataRLE4 function in PluginBMP.cpp in Freeimage 3.18.0 allows attackers to

CVE-2024-28582 HIGH POC
8.4 Mar 20

Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local attacker to execute arbitrary cod

CVE-2024-28581 HIGH POC
8.4 Mar 20

Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local attacker to execute arbitrary cod

CVE-2024-28580 HIGH POC
8.4 Mar 20

Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local attacker to execute arbitrary cod

CVE-2024-28578 HIGH POC
8.4 Mar 20

Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local attacker to execute arbitrary cod

CVE-2024-28566 HIGH POC
8.4 Mar 20

Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local attacker to execute arbitrary cod

CVE-2024-28583 HIGH POC
7.8 Mar 20

Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local attacker to execute arbitrary cod

CVE-2024-28569 HIGH POC
7.8 Mar 20

Buffer Overflow vulnerability in open source FreeImage v.3.19.0 [r1909] allows a local attacker to execute arbitrary cod

CVE-2024-9029 HIGH POC
7.5 Sep 27

A flaw was found in the freeimage library. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, n

CVE-2019-12214 HIGH POC
7.5 May 20

In FreeImage 3.18.0, an out-of-bounds access occurs because of mishandling of the OpenJPEG j2k_read_ppm_v3 function in j

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy