Skip to main content

FLTK EUVDEUVD-2026-110505

| CVE-2026-116724 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-10-26 VulnCheck GHSA-vc45-5x28-58gf
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 BMP/ICO with oversized dimensions
  2. Delivery
    Deliver file to victim
  3. Exploit
    Victim opens file in FLTK app
  4. Execution
    Integer overflow undersizes heap buffer
  5. Impact
    Row decoding overflows heap, enabling code execution

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

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

Exploitation Conditions

Exploitation requires that an application uses FLTK's BMP/ICO image loading (Fl_BMP_Image::load_bmp_()) and that a user opens or renders an attacker-supplied crafted BMP or ICO file whose declared width and height are large enough that the product of width*height*dstBDepth overflows during the pixel-buffer allocation. No authentication or prior privileges are needed (PR:N), but exploitation is gated by two limiting factors: the local attack vector (AV:L) means the malicious file must be delivered to and processed on the target host, and user interaction is required (UI:P) - the victim must open/view the file. There is no remote, interaction-free path. Affected: all FLTK versions through 1.4.5; the fix adds a size_t cast and a colors_used>256 format check.

Impact

Signals diverge sharply. The input CVSS 4.0 score of 8.5 is driven by high technical impact (VC:H/VI:H/VA:H - heap corruption potentially leading to arbitrary code execution) combined with no privilege requirement (PR:N). However, the vector is local (AV:L) and requires user interaction (UI:P), meaning a victim must open an attacker-supplied file - this is not remotely automatable mass exploitation. The exploitation-probability signals are low and consistent with each other: EPSS is 0.15% (4th percentile), there is no CISA KEV listing (not confirmed actively exploited), and the vuln.today Decision label is 'this_week' rather than act_now/emergency. The low EPSS alongside no KEV indicates this is not currently seeing widespread exploitation. Net: a genuinely serious memory-safety flaw with real code-execution potential, but real-world urgency is tempered by the local+user-interaction requirement and the absence of exploitation evidence. Treat as a patch-this-week item per the Decision label, not an emergency. No conflicting signals in the raw data; the main caveat is that the 'local' classification reflects the need to deliver and open a file rather than any requirement for prior host access.

Exploit ScenarioDerived

An attacker crafts a BMP or ICO file whose header declares very large width and height values and distributes it (email attachment, download, web content). When a victim opens or renders the file in any application built on FLTK ≤1.4.5, the integer overflow in Fl_BMP_Image::load_bmp_() produces an undersized heap allocation and subsequent row decoding writes file-derived data past the buffer, corrupting the heap and potentially leading to code execution. A public technical write-up describing the overflow exists, though it is not verified as working exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Heap buffer overflow in FLTK through 1.4.5 lets a crafted BMP or ICO file corrupt the application heap when the toolkit's image loader (Fl_BMP_Image::load_bmp_()) decodes a file whose declared width and height overflow the pixel-buffer size calculation. Exploitation requires the target application to use FLTK's BMP/ICO loading path and a victim to open or render the malicious file - a local attack vector with user interaction (CVSS 8.5; assessed 3.1 vector AV:L/AC:L/PR:N/UI:R, C/I/A:H) - so there is no remote, interaction-free path, no authentication is needed, and no prior privileges are required. EPSS is low at 0.15% (4th percentile), the issue is not listed as actively exploited in CISA KEV, and although a public technical write-up of the overflow exists it is not verified as working exploit code; the vendor fix is available via upstream commit.

RemediationAI

Apply the vendor fix, which is upstream commit 3a049d8262dc759cf9737339420e8457e24c0cb1 (https://github.com/fltk/fltk/commit/3a049d8262dc759cf9737339420e8457e24c0cb1); it changes the pixel allocation in load_bmp_() to new uchar[(size_t)width * height * dstBDepth] and adds a colors_used > 256 format rejection, and the patch is stated as available from the vendor, though no tagged release number is given in the supplied data, so confirm your distribution's or vendor's rebuilt FLTK package carries this commit before treating the issue as closed. If rebuilding immediately is not possible, the practical compensating control is to keep untrusted images away from the vulnerable decoder: restrict or disable BMP and ICO loading in applications that accept user-supplied files, for example by converting uploads to a format handled by a different loader such as PNG or JPEG at a trusted boundary, or by refusing .bmp/.ico inputs entirely - the trade-off being loss of BMP/ICO support for legitimate files. Because the attack vector is local and requires the victim to open the crafted file (UI:R), reducing the set of files that reach Fl_BMP_Image and limiting which users can hand files to image-consuming applications measurably shrinks exposure. Prioritization is 'this_week' per the vuln.today decision signal; EPSS is 0.15% and no KEV listing is present, and a public technical write-up of the overflow exists but is not verified as working exploit code.

Affected VersionsENISA

fltk 0 ≤1.4.5

Affected Packages

euvd fltk no fix

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

FLTK (the Fast Light Toolkit) is a cross-platform C++ GUI library, and its Fl_BMP_Image class shares a single decoder routine, load_bmp_(), between standalone BMP files and BMP data embedded in ICO icon files, reading through Fl_Image_Reader. The root cause is CWE-190: the pixel buffer is allocated with the expression new uchar[width * height * dstBDepth], where the multiplication is performed in native int arithmetic using file-supplied width and height fields before any widening occurs, so large declared dimensions wrap and produce a heap allocation much smaller than the buffer the subsequent row-decoding loop believes it owns. The decoder then writes row data derived from the file past the end of that undersized buffer, corrupting heap metadata and adjacent objects. The upstream fix (commit 3a049d8262dc759cf9737339420e8457e24c0cb1 in src/Fl_BMP_Image.cxx) addresses it in two ways: casting the first operand of the allocation to size_t so the size computation is performed in 64-bit, and rejecting palettes with colors_used > 256 via ld(ERR_FORMAT) before decoding. The affected CPE range is cpe:2.3:a:fltk:fltk:*:*:*:*:*:*:*:*, and EUVD records affected versions as fltk 0 through 1.4.5; the trigger path is confirmed for BMP and ICO inputs processed through this loader, and no other decoder or deployment mode is implicated in the supplied sources.

Know when Fltk 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

Victim must open a crafted local image file (AV:L, UI:R) with no privileges (PR:N); the heap overflow yields high confidentiality, integrity and availability impact.

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
Red Hat 7.8 HIGH

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

FLTK through 1.4.5 contains an integer overflow vulnerability in Fl_BMP_Image::load_bmp_() that causes undersized pixel buffer allocation from file-supplied width and height. Attackers can supply a crafted BMP or ICO file with large dimensions so row decoding writes file-derived data past the heap buffer, corrupting the application heap.

Executive ViewAI

Why It Matters

FLTK, a GUI toolkit embedded in numerous internal and third-party applications, contains a high-severity heap buffer overflow (CVE-2026-116724) that can be triggered when a user opens a specially crafted BMP or ICO image file. Successful exploitation allows an attacker to corrupt memory and potentially execute arbitrary code on the victim's machine, but requires local access and user interaction, limiting the attack surface to scenarios like phishing or malicious file sharing. Leadership should prioritize patching because FLTK is often a hidden dependency, and unpatched instances could become a foothold for lateral movement if an employee is tricked into opening a malicious image.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Medium
widely-used lightweight C++ GUI toolkit, common but not in every environment
Data Quality
6 sources
Confidence: High

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 0.1%
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
Defer
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.

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Vendor StatusVendor

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