{"id":"CVE-2026-111149","revision":"7e723139873b41cead30b51cf9de937d","records":[{"revision":"7e723139873b41cead30b51cf9de937d","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-111149","aliases":[],"title":"FreeImage through 3.19.23 Heap Out-of-Bounds Read via PICT Unpack32Bits","description":"FreeImage (danoli3 fork) through 3.19.23 contains a heap out-of-bounds read vulnerability in Unpack32Bits() in PluginPICT.cpp because rowBytes is never checked against the file-controlled PixMap width. Attackers can supply a crafted PICT file with a truncated or undersized rowBytes to over-read up to 64 KiB of heap, leaking memory into decoded pixels or crashing the process.","state":0,"publishedAt":"2026-10-15T18:57:38.81+00:00","modifiedAt":"2026-10-15T18:57:38.81+00:00","affected":[{"ecosystem":"https://github.com","name":"FreeImage","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"danoli3\",\n                    \"product\": \"FreeImage\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"versions\": [\n                        {\n                            \"version\": \"0\",\n                            \"lessThanOrEqual\": \"3.19.23\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ],\n                    \"collectionURL\": \"https://github.com\",\n                    \"packageURL\": \"pkg:github/danoli3/FreeImage\",\n                    \"repo\": \"https://github.com/danoli3/FreeImage\"\n                }"},{"ecosystem":"Vendor product","name":"FreeImage","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"FreeImage\",\n                    \"product\": \"FreeImage\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"versions\": [\n                        {\n                            \"version\": \"0\",\n                            \"lessThanOrEqual\": \"3.18.0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 4.0","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N","score":6.9,"severity":"MEDIUM"},{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H","score":6.1,"severity":"MEDIUM"}],"references":["https://hackmd.io/@haind-pwn/freeimage-pict-unpack32bits-plane-conversion-oob-read","https://github.com/danoli3/FreeImage/blob/cc2bfc1b67d3a10e2c203c56932b09ffb52a4477/Source/FreeImage/PluginPICT.cpp#L605-L650","https://github.com/danoli3/FreeImage","https://www.vulncheck.com/advisories/freeimage-through-3.19.23-heap-out-of-bounds-read-via-pict-unpack32bits"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-111149","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-111149","identifiers":["CVE-2026-111149"]},"retained":false,"historicalAffected":[]}],"coverage":[]}