Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft BMP/ICO with colors_used > 256
-
DeliveryDeliver file to target user
-
ExploitVictim opens it in an FLTK application
-
ExecutionOverflow the 768-byte stack colormap array
-
ImpactCrash or potential arbitrary code execution
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
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 a victim open or process an attacker-crafted BMP or ICO file through an application that uses FLTK's (≤1.4.5) image loading via Fl_BMP_Image::load_bmp_(). The specific trigger stated in the evidence is a colors_used field set above 256, which causes the colormap data to overflow the fixed 768-byte stack array. Limiting factors that reduce real-world risk: the vector is local (AV:L) and requires user interaction to open/render the malicious file (UI:P), no authentication is needed (PR:N), and the target application must actually invoke FLTK's BMP/ICO decoder. There is no remote, zero-click, or service-side exposure described in the sources. |
| Impact | Signals point to a moderate, patch-this-week priority rather than an emergency. The CVSS 4.0 base score of 8.5 is high, but the vector itself tempers that: AV:L with UI:P means this is not remote unauthenticated exploitation - a victim must locally open or process an attacker-supplied BMP/ICO file in an application that uses FLTK's image loader. Exploitation probability signals are low and consistent with each other: EPSS is 0.16% (5th percentile) and the CVE is not listed in CISA KEV, so there is no public active-exploitation evidence. A public PoC reference exists (a hackmd technical write-up and a VulnCheck advisory); it is not verified as working exploit code, and PoC availability must not be conflated with active exploitation. VI/VC/VA:H reflect potential code execution, but the dominant realistic outcome of a stack smash in an image parser is a crash (denial of service), with code execution being conditional on exploit development and mitigations present on the target. The vuln.today Decision label is this_week, so the appropriate action is to apply the vendor fix promptly, not to treat it as an active-exploitation fire drill. No signals are strongly conflicting; the main caveat is that severity is driven by theoretical RCE impact while the practical risk is bounded by the requirement for local file processing and the low EPSS. |
| Exploit ScenarioDerived | An attacker crafts a BMP or ICO file whose colors_used field is set above 256 and delivers it to a victim (e.g., via download, email attachment, or a shared directory). When the victim opens or previews the file in an application built on FLTK through 1.4.5, Fl_BMP_Image::load_bmp_() writes the oversized colormap past the fixed 768-byte stack array, corrupting stack memory and causing a crash or potential code execution. A public technical write-up exists describing the overflow, but it is not verified as a working weaponized exploit; the local vector (AV:L) and required user interaction (UI:P) mean the attacker depends on the victim processing the malicious file. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stack-based buffer overflow in FLTK's BMP/ICO image decoder (Fl_BMP_Image::load_bmp_()) affects FLTK through 1.4.5: a crafted BMP or ICO file whose colors_used field exceeds 256 overflows a fixed 768-byte stack colormap array, corrupting stack memory and causing crashes with potential code execution. Exploitation requires a victim to open or process a malicious image through an application linked against FLTK's image loading path - the assessed vector is local with user interaction and no authentication, and no remote or zero-click exposure is described. A vendor fix commit is available and an independent public write-up with PoC-level detail is referenced; EPSS is low (0.16%, 5th percentile) and there is no KEV listing, so signals point to a moderate, patch-this-week priority.
RemediationAI
Vendor-released patch: an upstream fix is available in the FLTK repository as commit 3a049d8262dc759cf9737339420e8457e24c0cb1, which rejects any BMP/ICO colors_used value above 256 in Fl_BMP_Image::load_bmp_() and also corrects the pixel-array size computation with a size_t cast; released patched version not independently confirmed from the supplied data, so check the FLTK repository and issue https://github.com/fltk/fltk/issues/1632 for the tagged release containing the commit before upgrading. Applications that embed FLTK should rebuild against the patched source. Where upgrading is delayed, the practical compensating control is to prevent untrusted BMP or ICO input from reaching FLTK's image loader - for example, validating or converting images with a hardened external decoder before handing them to FLTK image classes, or removing/limiting file-open and drag-and-drop image loading in the affected application when untrusted files are expected; the trade-off is reduced functionality or dependence on a second, separately trusted parser. Note that the vendor's guard is in the library itself, so application-level filtering is only a stopgap until the patched build is deployed.
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 (Fast Light Toolkit) is a cross-platform C++ GUI toolkit whose Fl_BMP_Image class parses Windows BMP and ICO files through load_bmp_() using Fl_Image_Reader. The affected code reads the BMP header's colors_used field, which specifies the number of palette entries, and then reads palette data into a fixed-size 768-byte stack buffer sized for 256 RGBQUAD entries. Per the vulnerability description, a colors_used value above 256 (the CWE-121 stack-based buffer overflow class) lets palette data run past that buffer and overwrite adjacent stack memory. The vendor fix adds a guard rejecting colors_used > 256 via ERR_FORMAT before palette processing, and also hardens an allocation in the same function by casting width to size_t before the width*height*dstBDepth multiplication to avoid integer overflow in the size computation. The vulnerability is reachable by any application that hands attacker-controlled BMP/ICO content to FLTK's image loader, such as a viewer, editor or file-preview component; the trigger in the evidence is the oversized colors_used field, and the precise code-execution path beyond stack corruption is not described in the available 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
Attacker needs the victim to open a crafted file locally (AV:L, UI:R), no privileges or auth (PR:N); stack corruption yields potential code execution, so C/I/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
FLTK through 1.4.5 contains a stack-based buffer overflow vulnerability in Fl_BMP_Image::load_bmp_() that allows attackers to corrupt stack memory by supplying an oversized BMP colors_used field. Attackers can craft BMP or ICO files with colors_used above 256 to overflow the 768-byte colormap array, causing crashes or potential code execution.
Executive ViewAI
A high-severity stack buffer overflow in the FLTK image decoding library (CVE-2026-116723) can crash or potentially allow code execution when a user opens a specially crafted BMP or ICO file in any application built with FLTK. Because FLTK is widely used in lightweight desktop tools and embedded interfaces, product teams and end users relying on those applications are at risk, though exploitation requires local user interaction and no active attacks are known. Leadership should prioritize patching to reduce operational disruption and potential security incidents.
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.
A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
An issue was discovered in the fltk crate before 0.15.3 for Rust. Rated critical severity (CVSS 9.1), this vulnerability
Heap buffer overflow in FLTK through 1.4.5 lets a crafted BMP or ICO file corrupt the application heap when the toolkit'
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-110504
GHSA-64v9-4hfh-jmvh
NVD
CVE.org
EPSS
Exploit-DB