A flaw was found in Exiv2 0.26. There is an integer wraparound leading to a heap-based buffer over-read in the Exiv2::getULong function in types.cpp, called while parsing an ICC profile. Remote attackers can exploit the vulnerability to cause a denial of service via a crafted JP2 image file. References: https://bugzilla.redhat.com/show_bug.cgi?id=1525055 https://github.com/Exiv2/exiv2/issues/188 Patch: https://github.com/Exiv2/exiv2/pull/193
Created exiv2 tracking bugs for this issue: Affects: fedora-all [bug 1545233]
It is important to note that without AddressSanitizer enabled, the out of bound read in Exiv2::getULong does not have impact, since it is at most 4 bytes, however another out of bound read in Jp2Image::readMetadata function is triggered by the same public POC, which could crash the program or leak data.
Statement: This issue did not affect the versions of Exiv2 as shipped with Red Hat Enterprise Linux 6 and 7 as they did not include support for ICC profiles.
Introduced by: https://github.com/Exiv2/exiv2/commit/699e1c744e50782e3ed7411cc6ac28260aa169c0