Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft BMP/ICO with oversized dimensions
-
DeliveryDeliver file to victim
-
ExploitVictim opens file in FLTK app
-
ExecutionInteger overflow undersizes heap buffer
-
ImpactRow 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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
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.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
An issue was discovered in the fltk crate before 0.15.3 for Rust. Rated critical severity (CVSS 9.1), this vulnerability
Stack-based buffer overflow in FLTK's BMP/ICO image decoder (Fl_BMP_Image::load_bmp_()) affects FLTK through 1.4.5: a cr
An issue was discovered in the fltk crate before 0.15.3 for Rust. Rated high severity (CVSS 7.5), this vulnerability is
An issue was discovered in the fltk crate before 0.15.3 for Rust. Rated high severity (CVSS 7.5), this vulnerability is
EUVD-2026-110505
GHSA-vc45-5x28-58gf
NVD
CVE.org
EPSS
Exploit-DB