FLTK through 1.4.5 Heap Buffer Overflow via Fl_BMP_Image Integer Overflow
Impact
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.
Source excerpt · VulnCheckAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
fltk · fltk
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 1.4.5 (inclusive) | affected |
Original source description
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.
References
- Source reference github.com/fltk/fltk/issues/1632
- Source reference github.com/fltk/fltk
- Patch github.com/fltk/fltk/commit/3a049d8262dc759cf9737339420e8457e24c0cb1
- Source reference github.com/fltk/fltk/blob/release-1.4.5/src/Fl_BMP_Image.cxx
- Source reference hackmd.io/@haindpwn/fltk-bmp-image-stack-heap-overflow
- Security advisory www.vulncheck.com/advisories/fltk-through-1.4.5-heap-buffer-overflow-via-fl-bmp-image-integer-overflow