Every CVE Search/ Get API key

CVE-2025-54080

Exiv2 Segmentation Faults in Exiv2::EpsImage::writeMetadata() via crafted EPS file

1.8 LowFix available

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Active

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.14%Up 0.1 points since Aug 30, 2025
90%50%10%1%

What each source reports

CVE List Score used 1.8

Exiv2 Segmentation Faults in Exiv2::EpsImage::writeMetadata() via crafted EPS file

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
CVE-2025-54080
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-125
Updated
2026-11-02
EUVDEUVD-2025-26207 1.8

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
EUVD-2025-26207
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-496f-x7cq-cq39 1.8

Exiv2 Segmentation Faults in Exiv2::EpsImage::writeMetadata() via crafted EPS file

Impact

An out-of-bounds read was found in Exiv2 versions v0.28.5 and earlier. Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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 delete.

Patches

The bug is fixed in version v0.28.6.

Credit

Thank you to @dragonArthurX for reporting this issue.

Details (from original report by @dragonArthurX )

Version: Tested on v0.28.5 (latest official release) Commit: 907169fa643c2c74c14fd4106e55eaeee3634d9f

Platform: Ubuntu 20.04.6 LTS (x86_64)

Build Steps:

git clone https://github.com/Exiv2/exiv2.git
cd exiv2
git checkout v0.28.5
mkdir build-v0.28.5 && cd build-v0.28.5
cmake -DCMAKE_C_COMPILER=/fuzzer/afl-clang-fast -DCMAKE_CXX_COMPILER=/fuzzer/afl-clang-fast++ -DCMAKE_C_FLAGS="-g -fsanitize=address" -DCMAKE_CXX_FLAGS="-g -fsanitize=address" -DBUILD_SHARED_LIBS=OFF ../

Command line to reproduce:

/home/exiv2/build/bin/exiv2 -d a -f /home/poc 

Crash Output:

AddressSanitizer:DEADLYSIGNAL
 ================================================================ = 
==376531==ERROR: AddressSanitizer: SEGV on unknown address 0x7fd92236b0e7 (pc 0x7fd82314dcd2 bp 0x7ffd540ceba0 sp 0x7ffd540ce358 T0)
==376531==The signal is caused by a READ memory access.
    #0 0x7fd82314dcd2  /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383
    #1 0x4ed131 in __asan_memcpy (/home/exiv2/build-v0.28.5/bin/exiv2+0x4ed131)
    #2 0x6184b1 in Exiv2::MemIo::write(unsigned char const*, unsigned long) /home/exiv2/src/basicio.cpp:704:5
    #3 0xad336d in (anonymous namespace)::writeTemp(Exiv2::BasicIo&, unsigned char const*, unsigned long) /home/exiv2/src/epsimage.cpp:90:14
    #4 0xac3a07 in (anonymous namespace)::readWriteEpsMetadata(Exiv2::BasicIo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::vector<Exiv2::NativePreview, std::allocator<Exiv2::NativePreview> >&, bool) /home/exiv2/src/epsimage.cpp:1009:7
    #5 0xad1175 in Exiv2::EpsImage::writeMetadata() /home/exiv2/src/epsimage.cpp:1103:3
    #6 0x5d2383 in Action::Erase::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/exiv2/app/actions.cpp:713:14
    #7 0x522d02 in main /home/exiv2/app/exiv2.cpp:177:25
    #8 0x7fd8230b6082 in __libc_start_main /build/glibc-B3wQXB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #9 0x4714dd in _start (/home/exiv2/build-v0.28.5/bin/exiv2+0x4714dd)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383 
==376531==ABORTING
Record
GHSA-496f-x7cq-cq39
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-125
Updated
2026-11-02
NVD 1.8

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
CVE-2025-54080
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Weakness
CWE-125
Updated
2026-11-02
OSVALPINE-CVE-2025-54080 5.5

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
ALPINE-CVE-2025-54080
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-03
OSV 1.8

Exiv2 Segmentation Faults in Exiv2::EpsImage::writeMetadata() via crafted EPS file

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
CVE-2025-54080
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-125
Updated
2026-11-02
Show 19 moreShow less
OSVDEBIAN-CVE-2025-54080 5.5

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
DEBIAN-CVE-2025-54080
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVGHSA-496f-x7cq-cq39 1.8

Exiv2 Segmentation Faults in Exiv2::EpsImage::writeMetadata() via crafted EPS file

Impact

An out-of-bounds read was found in Exiv2 versions v0.28.5 and earlier. Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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 delete.

Patches

The bug is fixed in version v0.28.6.

Credit

Thank you to @dragonArthurX for reporting this issue.

Details (from original report by @dragonArthurX )

Version: Tested on v0.28.5 (latest official release) Commit: 907169fa643c2c74c14fd4106e55eaeee3634d9f

Platform: Ubuntu 20.04.6 LTS (x86_64)

Build Steps:

git clone https://github.com/Exiv2/exiv2.git
cd exiv2
git checkout v0.28.5
mkdir build-v0.28.5 && cd build-v0.28.5
cmake -DCMAKE_C_COMPILER=/fuzzer/afl-clang-fast -DCMAKE_CXX_COMPILER=/fuzzer/afl-clang-fast++ -DCMAKE_C_FLAGS="-g -fsanitize=address" -DCMAKE_CXX_FLAGS="-g -fsanitize=address" -DBUILD_SHARED_LIBS=OFF ../

Command line to reproduce:

/home/exiv2/build/bin/exiv2 -d a -f /home/poc 

Crash Output:

AddressSanitizer:DEADLYSIGNAL
 ================================================================ = 
==376531==ERROR: AddressSanitizer: SEGV on unknown address 0x7fd92236b0e7 (pc 0x7fd82314dcd2 bp 0x7ffd540ceba0 sp 0x7ffd540ce358 T0)
==376531==The signal is caused by a READ memory access.
    #0 0x7fd82314dcd2  /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383
    #1 0x4ed131 in __asan_memcpy (/home/exiv2/build-v0.28.5/bin/exiv2+0x4ed131)
    #2 0x6184b1 in Exiv2::MemIo::write(unsigned char const*, unsigned long) /home/exiv2/src/basicio.cpp:704:5
    #3 0xad336d in (anonymous namespace)::writeTemp(Exiv2::BasicIo&, unsigned char const*, unsigned long) /home/exiv2/src/epsimage.cpp:90:14
    #4 0xac3a07 in (anonymous namespace)::readWriteEpsMetadata(Exiv2::BasicIo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::vector<Exiv2::NativePreview, std::allocator<Exiv2::NativePreview> >&, bool) /home/exiv2/src/epsimage.cpp:1009:7
    #5 0xad1175 in Exiv2::EpsImage::writeMetadata() /home/exiv2/src/epsimage.cpp:1103:3
    #6 0x5d2383 in Action::Erase::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/exiv2/app/actions.cpp:713:14
    #7 0x522d02 in main /home/exiv2/app/exiv2.cpp:177:25
    #8 0x7fd8230b6082 in __libc_start_main /build/glibc-B3wQXB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #9 0x4714dd in _start (/home/exiv2/build-v0.28.5/bin/exiv2+0x4714dd)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383 
==376531==ABORTING
Record
GHSA-496f-x7cq-cq39
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Weakness
CWE-125
Updated
2026-11-02
OSVJLSEC-2026-1314 1.8

Exiv2 Segmentation Faults in Exiv2::EpsImage::writeMetadata() via crafted EPS file

Impact

An out-of-bounds read was found in Exiv2 versions v0.28.5 and earlier. Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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 delete.

Patches

The bug is fixed in version v0.28.6.

Credit

Thank you to @dragonArthurX for reporting this issue.

Details (from original report by @dragonArthurX )

Version: Tested on v0.28.5 (latest official release) Commit: 907169fa643c2c74c14fd4106e55eaeee3634d9f

Platform: Ubuntu 20.04.6 LTS (x86_64)

Build Steps:

git clone https://github.com/Exiv2/exiv2.git
cd exiv2
git checkout v0.28.5
mkdir build-v0.28.5 && cd build-v0.28.5
cmake -DCMAKE_C_COMPILER=/fuzzer/afl-clang-fast -DCMAKE_CXX_COMPILER=/fuzzer/afl-clang-fast++ -DCMAKE_C_FLAGS="-g -fsanitize=address" -DCMAKE_CXX_FLAGS="-g -fsanitize=address" -DBUILD_SHARED_LIBS=OFF ../

Command line to reproduce:

/home/exiv2/build/bin/exiv2 -d a -f /home/poc 

Crash Output:

AddressSanitizer:DEADLYSIGNAL
 ================================================================ = 
==376531==ERROR: AddressSanitizer: SEGV on unknown address 0x7fd92236b0e7 (pc 0x7fd82314dcd2 bp 0x7ffd540ceba0 sp 0x7ffd540ce358 T0)
==376531==The signal is caused by a READ memory access.
    #0 0x7fd82314dcd2  /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383
    #1 0x4ed131 in __asan_memcpy (/home/exiv2/build-v0.28.5/bin/exiv2+0x4ed131)
    #2 0x6184b1 in Exiv2::MemIo::write(unsigned char const*, unsigned long) /home/exiv2/src/basicio.cpp:704:5
    #3 0xad336d in (anonymous namespace)::writeTemp(Exiv2::BasicIo&, unsigned char const*, unsigned long) /home/exiv2/src/epsimage.cpp:90:14
    #4 0xac3a07 in (anonymous namespace)::readWriteEpsMetadata(Exiv2::BasicIo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::vector<Exiv2::NativePreview, std::allocator<Exiv2::NativePreview> >&, bool) /home/exiv2/src/epsimage.cpp:1009:7
    #5 0xad1175 in Exiv2::EpsImage::writeMetadata() /home/exiv2/src/epsimage.cpp:1103:3
    #6 0x5d2383 in Action::Erase::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/exiv2/app/actions.cpp:713:14
    #7 0x522d02 in main /home/exiv2/app/exiv2.cpp:177:25
    #8 0x7fd8230b6082 in __libc_start_main /build/glibc-B3wQXB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #9 0x4714dd in _start (/home/exiv2/build-v0.28.5/bin/exiv2+0x4714dd)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383 
==376531==ABORTING
Record
JLSEC-2026-1314
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2025-2113 5.5

exiv2 security update

Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the ICC Profile embedded within digital images in various formats.

Security Fix(es):

A vulnerability, which was classified as problematic, was found in exiv2 up to 0.28.5 (Image Processing Software).CWE is classifying the issue as CWE-125. The product reads data past the end, or before the beginning, of the intended buffer.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying the patch e737332427711f15bcdc4e903203d6b7493eaec0 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-54080)

Record
OESA-2025-2113
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2025-2114 5.5

exiv2 security update

Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the ICC Profile embedded within digital images in various formats.

Security Fix(es):

A vulnerability, which was classified as problematic, was found in exiv2 up to 0.28.5 (Image Processing Software).CWE is classifying the issue as CWE-125. The product reads data past the end, or before the beginning, of the intended buffer.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying the patch e737332427711f15bcdc4e903203d6b7493eaec0 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-54080)

Record
OESA-2025-2114
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2025-2115 5.5

exiv2 security update

Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the ICC Profile embedded within digital images in various formats.

Security Fix(es):

A vulnerability, which was classified as problematic, was found in exiv2 up to 0.28.5 (Image Processing Software).CWE is classifying the issue as CWE-125. The product reads data past the end, or before the beginning, of the intended buffer.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying the patch e737332427711f15bcdc4e903203d6b7493eaec0 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-54080)

Record
OESA-2025-2115
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2025-2116 5.5

exiv2 security update

Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the ICC Profile embedded within digital images in various formats.

Security Fix(es):

A vulnerability, which was classified as problematic, was found in exiv2 up to 0.28.5 (Image Processing Software).CWE is classifying the issue as CWE-125. The product reads data past the end, or before the beginning, of the intended buffer.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying the patch e737332427711f15bcdc4e903203d6b7493eaec0 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-54080)

A vulnerability was found in exiv2 up to 0.28.5 (Image Processing Software). It has been classified as problematic.CWE is classifying the issue as CWE-407. An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-55304)

Record
OESA-2025-2116
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2025-2117 5.5

exiv2 security update

Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the ICC Profile embedded within digital images in various formats.

Security Fix(es):

A vulnerability, which was classified as problematic, was found in exiv2 up to 0.28.5 (Image Processing Software).CWE is classifying the issue as CWE-125. The product reads data past the end, or before the beginning, of the intended buffer.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying the patch e737332427711f15bcdc4e903203d6b7493eaec0 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-54080)

A vulnerability was found in exiv2 up to 0.28.5 (Image Processing Software). It has been classified as problematic.CWE is classifying the issue as CWE-407. An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-55304)

Record
OESA-2025-2117
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVOESA-2025-2274 5.5

exiv2 security update

Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the ICC Profile embedded within digital images in various formats.

Security Fix(es):

A vulnerability, which was classified as problematic, was found in exiv2 up to 0.28.5 (Image Processing Software).CWE is classifying the issue as CWE-125. The product reads data past the end, or before the beginning, of the intended buffer.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying the patch e737332427711f15bcdc4e903203d6b7493eaec0 is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-54080)

A vulnerability was found in exiv2 up to 0.28.5 (Image Processing Software). It has been classified as problematic.CWE is classifying the issue as CWE-407. An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached.This is going to have an impact on availability.Upgrading to version 0.28.6 eliminates this vulnerability. Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version.(CVE-2025-55304)

Record
OESA-2025-2274
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVPYSEC-2026-1354 1.8

Exiv2 Segmentation Faults in Exiv2::EpsImage::writeMetadata() via crafted EPS file

Impact

An out-of-bounds read was found in Exiv2 versions v0.28.5 and earlier. Exiv2 is a command-line utility and C++ library for reading, writing, deleting, and modifying the metadata of image files. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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 delete.

Patches

The bug is fixed in version v0.28.6.

Credit

Thank you to @dragonArthurX for reporting this issue.

Details (from original report by @dragonArthurX )

Version: Tested on v0.28.5 (latest official release) Commit: 907169fa643c2c74c14fd4106e55eaeee3634d9f

Platform: Ubuntu 20.04.6 LTS (x86_64)

Build Steps:

git clone https://github.com/Exiv2/exiv2.git
cd exiv2
git checkout v0.28.5
mkdir build-v0.28.5 && cd build-v0.28.5
cmake -DCMAKE_C_COMPILER=/fuzzer/afl-clang-fast -DCMAKE_CXX_COMPILER=/fuzzer/afl-clang-fast++ -DCMAKE_C_FLAGS="-g -fsanitize=address" -DCMAKE_CXX_FLAGS="-g -fsanitize=address" -DBUILD_SHARED_LIBS=OFF ../

Command line to reproduce:

/home/exiv2/build/bin/exiv2 -d a -f /home/poc 

Crash Output:

AddressSanitizer:DEADLYSIGNAL
 ================================================================ = 
==376531==ERROR: AddressSanitizer: SEGV on unknown address 0x7fd92236b0e7 (pc 0x7fd82314dcd2 bp 0x7ffd540ceba0 sp 0x7ffd540ce358 T0)
==376531==The signal is caused by a READ memory access.
    #0 0x7fd82314dcd2  /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383
    #1 0x4ed131 in __asan_memcpy (/home/exiv2/build-v0.28.5/bin/exiv2+0x4ed131)
    #2 0x6184b1 in Exiv2::MemIo::write(unsigned char const*, unsigned long) /home/exiv2/src/basicio.cpp:704:5
    #3 0xad336d in (anonymous namespace)::writeTemp(Exiv2::BasicIo&, unsigned char const*, unsigned long) /home/exiv2/src/epsimage.cpp:90:14
    #4 0xac3a07 in (anonymous namespace)::readWriteEpsMetadata(Exiv2::BasicIo&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::vector<Exiv2::NativePreview, std::allocator<Exiv2::NativePreview> >&, bool) /home/exiv2/src/epsimage.cpp:1009:7
    #5 0xad1175 in Exiv2::EpsImage::writeMetadata() /home/exiv2/src/epsimage.cpp:1103:3
    #6 0x5d2383 in Action::Erase::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/exiv2/app/actions.cpp:713:14
    #7 0x522d02 in main /home/exiv2/app/exiv2.cpp:177:25
    #8 0x7fd8230b6082 in __libc_start_main /build/glibc-B3wQXB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #9 0x4714dd in _start (/home/exiv2/build-v0.28.5/bin/exiv2+0x4714dd)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /build/glibc-B3wQXB/glibc-2.31/string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383 
==376531==ABORTING
Record
PYSEC-2026-1354
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Updated
2026-11-02
OSVUBUNTU-CVE-2025-54080 1.8

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
UBUNTU-CVE-2025-54080
CVSS 4.0
1.8 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVAZL-66711 No score

CVE-2025-54080 affecting package exiv2 0.28.3-1

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
AZL-66711
Updated
2026-11-05
OSVAZL-66764 No score

CVE-2025-54080 affecting package exiv2 0.28.0-1

Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. An out-of-bounds read was found in Exiv2 versions 0.28.5 and earlier. The out-of-bounds read is triggered when Exiv2 is used to write metadata into a crafted image file. An attacker could potentially exploit the vulnerability to cause a denial of service by crashing Exiv2, 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. The bug is fixed in version 0.28.6.

Record
AZL-66764
Updated
2026-11-02
OSVCLSA-2025-1766499581 No score

exiv2: Fix of CVE-2025-54080

  • CVE-2025-54080: fix insufficient bounds checking
Record
CLSA-2025-1766499581
Updated
2026-11-02
OSVCLSA-2025-1766500438 No score

exiv2: Fix of CVE-2025-54080

  • CVE-2025-54080: fix insufficient bounds checking
Record
CLSA-2025-1766500438
Updated
2026-11-02
OSVopenSUSE-SU-2026:10298-1 No score

exiv2-0.28.8-1.1 on GA media

These are all security issues fixed in the exiv2-0.28.8-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10298-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:20410-1 No score

Security update for exiv2

This update for exiv2 fixes the following issues:

Update to exiv2 0.28.8:

  • CVE-2024-24826: out-of-bounds read in QuickTimeVideo: NikonTagsDecoder (bsc#1219870).
  • CVE-2024-25112: denial of service due to unbounded recursion in QuickTimeVideo: multipleEntriesDecoder (bsc#1219871).
  • CVE-2024-39695: out-of-bounds read in AsfVideo: streamProperties (bsc#1227528).
  • CVE-2025-26623: heap buffer overflow via writing metadata into a crafted image file (bsc#1237347).
  • CVE-2025-54080: out-of-bounds read in Exiv2: EpsImage: writeMetadata() when writing metadata into a crafted image file (bsc#1248962).
  • CVE-2025-55304: quadratic performance algorithm in the ICC profile parsing code of JpegBase: readMetadata (bsc#1248963).
  • CVE-2026-25884: out-of-bounds read in CrwMap: decode0x0805 (bsc#1259083).
  • CVE-2026-27596: integer overflow in LoaderNative: getData() leads to out-of-bounds read (bsc#1259084).
  • CVE-2026-27631: crash due to uncaught exception when trying to create std: vector larger than max_size() (bsc#1259085).
Record
openSUSE-SU-2026:20410-1
Updated
2026-11-02
OSVSUSE-SU-2026:20923-1 No score

Security update for exiv2

This update for exiv2 fixes the following issues:

Update to exiv2 0.28.8:

  • CVE-2024-24826: out-of-bounds read in QuickTimeVideo: NikonTagsDecoder (bsc#1219870).
  • CVE-2024-25112: denial of service due to unbounded recursion in QuickTimeVideo: multipleEntriesDecoder (bsc#1219871).
  • CVE-2024-39695: out-of-bounds read in AsfVideo: streamProperties (bsc#1227528).
  • CVE-2025-26623: heap buffer overflow via writing metadata into a crafted image file (bsc#1237347).
  • CVE-2025-54080: out-of-bounds read in Exiv2: EpsImage: writeMetadata() when writing metadata into a crafted image file (bsc#1248962).
  • CVE-2025-55304: quadratic performance algorithm in the ICC profile parsing code of JpegBase: readMetadata (bsc#1248963).
  • CVE-2026-25884: out-of-bounds read in CrwMap: decode0x0805 (bsc#1259083).
  • CVE-2026-27596: integer overflow in LoaderNative: getData() leads to out-of-bounds read (bsc#1259084).
  • CVE-2026-27631: crash due to uncaught exception when trying to create std: vector larger than max_size() (bsc#1259085).
Record
SUSE-SU-2026:20923-1
Updated
2026-11-02
OSVSUSE-SU-2026:2663-1 No score

Security update for exiv2

This update for exiv2 fixes the following issues

  • CVE-2025-54080: out-of-bounds read in Exiv2::EpsImage::writeMetadata() when writing metadata into a crafted image file (bsc#1248962).
  • CVE-2026-25884: out-of-bounds read in CrwMap::decode0x0805 (bsc#1259083).
  • CVE-2026-27596: integer overflow in LoaderNative::getData() leads to out-of-bounds read (bsc#1259084).
  • CVE-2026-27631: crash due to uncaught exception when trying to create std::vector larger than max_size() (bsc#1259085).
Record
SUSE-SU-2026:2663-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
exiv2
PyPI
through 0.17.3 None known
exiv2
Alpine:v3.22
before 0.28.6-r0
0.28.6-r0
exiv2
Alpine:v3.23
before 0.28.6-r0
0.28.6-r0
exiv2
Alpine:v3.24
before 0.28.6-r0
0.28.6-r0
exiv2
Azure Linux:3
through 0.28.3-1 None known
exiv2
Azure Linux:2
through 0.28.0-1 None known
exiv2
TuxCare:AlmaLinux:9.2
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
exiv2-devel
TuxCare:AlmaLinux:9.2
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
exiv2-doc
TuxCare:AlmaLinux:9.2
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
exiv2-libs
TuxCare:AlmaLinux:9.2
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
Show 26 moreShow less
Affected packages
PackageAffectedFixed
exiv2
TuxCare:AlmaLinux:9.6
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
exiv2-devel
TuxCare:AlmaLinux:9.6
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
exiv2-doc
TuxCare:AlmaLinux:9.6
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
exiv2-libs
TuxCare:AlmaLinux:9.6
before 0.27.5-2.el9.tuxcare.els2
0.27.5-2.el9.tuxcare.els2
exiv2
Debian:12
All versions, plus listed versions
0.27.6-10.28.0+dfsg-10.28.0+dfsg-20.28.0+dfsg-30.28.0+dfsg-4
Show 13 moreShow less
0.28.1+dfsg-10.28.1+dfsg-20.28.1+dfsg-30.28.2+dfsg-10.28.3+dfsg-10.28.3+dfsg-20.28.4+dfsg-10.28.4+dfsg-20.28.5+dfsg-10.28.7+dfsg-10.28.7+dfsg-20.28.8+dfsg-10.28.9+dfsg-1
None known
exiv2
Debian:13
All versions, plus listed versions
0.28.5+dfsg-10.28.7+dfsg-10.28.7+dfsg-20.28.8+dfsg-10.28.9+dfsg-1
None known
exiv2
Debian:14
before 0.28.7+dfsg-2, plus listed versions
0.28.5+dfsg-10.28.7+dfsg-1
0.28.7+dfsg-2
exiv2
PyPI
through 0.17.3, plus listed versions
0.10.11.00.11.10.11.20.11.3
Show 20 moreShow less
0.12.00.12.10.13.00.13.10.13.20.14.00.14.10.15.00.16.00.16.10.16.20.16.2.post10.16.30.16.3.post10.17.00.17.10.17.20.20.30.3.1
None known
Exiv2_jll
Julia
All versions None known
exiv2
openEuler:20.03-LTS-SP4
before 0.27.5-4.oe2003sp4
0.27.5-4.oe2003sp4
exiv2
openEuler:22.03-LTS-SP3
before 0.27.5-4.oe2203sp3
0.27.5-4.oe2203sp3
exiv2
openEuler:22.03-LTS-SP4
before 0.27.5-4.oe2203sp4
0.27.5-4.oe2203sp4
exiv2
openEuler:24.03-LTS-SP1
From an advisory covering 2 CVEs
before 0.28.2-4.oe2403sp1
0.28.2-4.oe2403sp1
exiv2
openEuler:24.03-LTS-SP2
From an advisory covering 2 CVEs
before 0.28.2-4.oe2403sp2
0.28.2-4.oe2403sp2
exiv2
openEuler:24.03-LTS
From an advisory covering 2 CVEs
before 0.28.2-4.oe2403
0.28.2-4.oe2403
exiv2
SUSE:Linux Enterprise Server 16.0
From an advisory covering 9 CVEs
before 0.28.8-160000.1.1
0.28.8-160000.1.1
exiv2
SUSE:Linux Enterprise Server for SAP applications 16.0
From an advisory covering 9 CVEs
before 0.28.8-160000.1.1
0.28.8-160000.1.1
exiv2
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5
From an advisory covering 4 CVEs
before 0.23-12.26.1
0.23-12.26.1
exiv2
Ubuntu:Pro:16.04:LTS
before 0.25-2.1ubuntu16.04.7+esm5, plus listed versions
0.25-1ubuntu10.25-2.10.25-2.1ubuntu16.04.10.25-2.1ubuntu16.04.20.25-2.1ubuntu16.04.3
Show 7 moreShow less
0.25-2.1ubuntu16.04.40.25-2.1ubuntu16.04.50.25-2.1ubuntu16.04.60.25-2.1ubuntu16.04.7+esm10.25-2.1ubuntu16.04.7+esm20.25-2.1ubuntu16.04.7+esm30.25-2.1ubuntu16.04.7+esm4
0.25-2.1ubuntu16.04.7+esm5
exiv2
Ubuntu:Pro:18.04:LTS
before 0.25-3.1ubuntu0.18.04.11+esm1, plus listed versions
0.25-3.10.25-3.1ubuntu0.18.04.10.25-3.1ubuntu0.18.04.20.25-3.1ubuntu0.18.04.30.25-3.1ubuntu0.18.04.4
Show 5 moreShow less
0.25-3.1ubuntu0.18.04.50.25-3.1ubuntu0.18.04.70.25-3.1ubuntu0.18.04.90.25-3.1ubuntu0.18.04.100.25-3.1ubuntu0.18.04.11
0.25-3.1ubuntu0.18.04.11+esm1
exiv2
Ubuntu:Pro:20.04:LTS
before 0.27.2-8ubuntu2.7+esm1, plus listed versions
0.25-4ubuntu20.25-4ubuntu30.27.2-8ubuntu20.27.2-8ubuntu2.20.27.2-8ubuntu2.40.27.2-8ubuntu2.50.27.2-8ubuntu2.60.27.2-8ubuntu2.7
0.27.2-8ubuntu2.7+esm1
exiv2
Ubuntu:22.04:LTS
before 0.27.5-3ubuntu1.1, plus listed versions
0.27.3-3ubuntu40.27.3-3.1ubuntu10.27.5-1ubuntu10.27.5-3ubuntu1
0.27.5-3ubuntu1.1
exiv2
Ubuntu:24.04:LTS
before 0.27.6-1ubuntu0.1, plus listed versions
0.27.6-10.27.6-1build1
0.27.6-1ubuntu0.1
exiv2
Ubuntu:25.10
before 0.28.5+dfsg-1ubuntu0.1, plus listed versions
0.28.5+dfsg-1
0.28.5+dfsg-1ubuntu0.1
exiv2
openSUSE:Tumbleweed
From an advisory covering 5 CVEs
before 0.28.8-1.1
0.28.8-1.1
exiv2
openSUSE:Leap 16.0
From an advisory covering 9 CVEs
before 0.28.8-160000.1.1
0.28.8-160000.1.1

History

History
RecordedChangedSources
affected
factsOSV
affected, aliases, referencesOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2025-54080 is a low vulnerability (CVSS 1.8) in Exiv2, published August 29, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.14%, the 3rd percentile. Fixed in exiv2 0.28.6-r0.

References

Show 35 moreShow less
MoveEnter Open