Summary
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.
Remediation
References
- Patchhttps://github.com/danoli3/FreeImage/commit/cf173c16354274dc8fb739dc395fc7f32efe7d45
- Patchhttps://github.com/danoli3/FreeImage/commit/e1105d3b464b679f0525c6178d9ccf49d55cf712
- Patchhttps://github.com/danoli3/FreeImage/pull/161
- Patchhttps://sourceforge.net/p/freeimage/patches/198/
- Advisoryhttps://www.vulncheck.com/advisories/freeimage-before-3.19.22-heap-buffer-overflow-via-iff-lbm-pbm-rle-decoder
- Referencehttps://github.com/danoli3/FreeImage
- Referencehttps://github.com/danoli3/FreeImage/blob/3.19.21/Source/FreeImage/PluginIFF.cpp#L296-L324
- Referencehttps://github.com/danoli3/FreeImage/issues/156
- Referencehttps://github.com/danoli3/FreeImage/releases/tag/3.19.22
- Referencehttps://github.com/danoli3/FreeImage/pull/244
- Referencehttps://sourceforge.net/projects/freeimage/