Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. The assertion failure is triggered when Exiv2 is used to modify the metadata of a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service, if they can trick the victim into running Exiv2 on a crafted image file. Note that this bug is only triggered when modifying 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 fi
. ### Patches The bug is fixed in version v0.27.5. ### References Regression test and bug fix: #1739 ### For more information Please see our security policy for information about Exiv2 security.
The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Exiv2 | Exiv2 | * | 0.27.4 (including) |
Exiv2 | Ubuntu | bionic | * |
Exiv2 | Ubuntu | devel | * |
Exiv2 | Ubuntu | esm-infra/xenial | * |
Exiv2 | Ubuntu | focal | * |
Exiv2 | Ubuntu | hirsute | * |
Exiv2 | Ubuntu | impish | * |
Exiv2 | Ubuntu | jammy | * |
Exiv2 | Ubuntu | trusty | * |
Exiv2 | Ubuntu | xenial | * |
While assertion is good for catching logic errors and reducing the chances of reaching more serious vulnerability conditions, it can still lead to a denial of service. For example, if a server handles multiple simultaneous connections, and an assert() occurs in one single connection that causes all other connections to be dropped, this is a reachable assertion that leads to a denial of service.