CVE-2025-29769 json
libvips has a potential heap-based buffer overflow when attempting to convert multiband TIFF input to HEIF output
published 2025-04-07 19 mo ago modified 2026-06-17 4 mo ago also EUVD-2025-10391
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 21%
- public exploits
- 0
- none known
Summary
libvips is a demand-driven, horizontally threaded image processing library. The heifsave operation could incorrectly determine the presence of an alpha channel in an input when it was not possible to determine the colour interpretation, known internally within libvips as "multiband". There aren't many ways to create a "multiband" input, but it is possible with a well-crafted TIFF image. If a "multiband" TIFF input image had 4 channels and HEIF-based output was requested, this led to libvips creating a 3 channel HEIF image without an alpha channel but then attempting to write 4 channels of data. This caused a heap buffer overflow, which could crash the process. This vulnerability is fixed in 8.16.1.
Patch / fix
- libvips libvips 8.16.1
- vips Debian 12 8.14.1-3+deb12u2
- vips Debian 14, Debian 13 8.16.1-1
debian advisories DEBIAN-CVE-2025-29769
- vips Ubuntu Pro 20.04 LTS 8.9.1-2ubuntu0.1~esm1
- vips Ubuntu Pro 22.04 LTS 8.12.1-1ubuntu0.1~esm2
- vips Ubuntu Pro 24.04 LTS 8.15.1-1.1ubuntu0.1~esm1
- vips Ubuntu Pro 26.04 LTS 8.18.0-1ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2025-29769
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/libvips/libvips@9ab6784 commit
- github.com/libvips/libvips#4392 pull request
- github.com/libvips/libvips#4394 pull request
- github.com/libvips/libvips/security/advisories/GHSA-f8r8-43hh-rghm advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-29769 updated cvss 6.6
libvips: libvips has a potential heap-based buffer overflow when attempting to convert multiband TIFF input to HEIF output
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 19 mo ago
Exploit prediction
0.29% chance of exploitation in the next 30 days, higher than 21% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- issues.oss-fuzz.com https://issues.oss-fuzz.com/issues/396460413 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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 |
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
Affected products
- libvips libvips
Classification
- Weakness
-
- CWE-122 Heap-based Buffer Overflow
References
-
github.com
/libvips/libvips/pull/4392
issue-tracking
-
github.com
/libvips/libvips/pull/4394
issue-tracking
-
github.com
/libvips/libvips/commit/9ab6784f693de50b00fa535b9efbbe9d2cbf71f2
patch
-
github.com
/libvips/libvips/security/advisories/GHSA-f8r8-43hh-rghm
patch, vendor-advisory
-
issues.oss-fuzz.com
/issues/396460413
exploit, issue-tracking, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2025/04/msg00044.html
mailing-list, third-party-advisory
Sources
- CVE List CVE-2025-29769
- NVD CVE-2025-29769
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.