Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. A heap buffer overflow was found in Exiv2 versions v0.27.3 and earlier. The heap overflow is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to gain code execution, if they can trick the victim into running Exiv2 on a crafted image file. Note that this bug is only triggered when _writing_ the metadata, which is a less frequently used Exiv2 operation than _reading_ the metadata. For example, to trigger the bug in the Exiv2 command-line application, you need to add an extra command-line argument such as `insert`. The bug is fixed in version v0.27.4. References: https://github.com/Exiv2/exiv2/security/advisories/GHSA-v74w-h496-cgqm https://github.com/Exiv2/exiv2/issues/1529 Upstream patch: https://github.com/Exiv2/exiv2/pull/1534
Created exiv2 tracking bugs for this issue: Affects: fedora-all [bug 1952613]
Flaw summary: In src/jp2image.cpp in the boxes_check() routine, there was not correct checking to ensure that the box length was valid. Specifically, a box length less than 8 could be accepted, which would cause an out-of-bounds write subsequently in Exiv2::Jp2Image::doWriteMetadata(). As this value can be supplied by a crafted file, it can result in an impact to confidentiality, integrity, and availability of an application linked with exiv2.
External References: https://github.com/Exiv2/exiv2/security/advisories/GHSA-v74w-h496-cgqm
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:4173 https://access.redhat.com/errata/RHSA-2021:4173