CVE-2026-70653
libvips: Possible heap-based buffer read overflow when decoding a well-crafted RLE Radiance image
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, the old-style Radiance RLE decoder in libvips/foreign/radiance.c can process a repeat marker at the beginning of a scanline in scanline_read_old and read q[-1] before any prior pixel exists. A crafted Radiance image loaded through VipsForeignLoadRad can therefore disclose four bytes of adjacent heap data, most likely other image data. This issue is fixed in version 8.18.3.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.8
libvips: Possible heap-based buffer read overflow when decoding a well-crafted RLE Radiance image
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, the old-style Radiance RLE decoder in libvips/foreign/radiance.c can process a repeat marker at the beginning of a scanline in scanline_read_old and read q[-1] before any prior pixel exists. A crafted Radiance image loaded through VipsForeignLoadRad can therefore disclose four bytes of adjacent heap data, most likely other image data. This issue is fixed in version 8.18.3.
- Record
CVE-2026-70653- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-122
- Updated
- 2026-11-02
EUVDEUVD-2026-63654
4.8
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, the old-style Radiance RLE decoder in libvips/foreign/radiance.c can process a repeat marker at the beginning of a scanline in scanline_read_old and read q[-1] before any prior pixel exists. A crafted Radiance image loaded through VipsForeignLoadRad can therefore disclose four bytes of adjacent heap data, most likely other image data. This issue is fixed in version 8.18.3.
- Record
EUVD-2026-63654- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
NVD
4.8
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, the old-style Radiance RLE decoder in libvips/foreign/radiance.c can process a repeat marker at the beginning of a scanline in scanline_read_old and read q[-1] before any prior pixel exists. A crafted Radiance image loaded through VipsForeignLoadRad can therefore disclose four bytes of adjacent heap data, most likely other image data. This issue is fixed in version 8.18.3.
- Record
CVE-2026-70653- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/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 - Weakness
- CWE-122
- Updated
- 2026-11-02
OSV
4.8
libvips: Possible heap-based buffer read overflow when decoding a well-crafted RLE Radiance image
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, the old-style Radiance RLE decoder in libvips/foreign/radiance.c can process a repeat marker at the beginning of a scanline in scanline_read_old and read q[-1] before any prior pixel exists. A crafted Radiance image loaded through VipsForeignLoadRad can therefore disclose four bytes of adjacent heap data, most likely other image data. This issue is fixed in version 8.18.3.
- Record
CVE-2026-70653- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-122
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-70653
4.8
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, the old-style Radiance RLE decoder in libvips/foreign/radiance.c can process a repeat marker at the beginning of a scanline in scanline_read_old and read q[-1] before any prior pixel exists. A crafted Radiance image loaded through VipsForeignLoadRad can therefore disclose four bytes of adjacent heap data, most likely other image data. This issue is fixed in version 8.18.3.
- Record
DEBIAN-CVE-2026-70653- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/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 - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-70653
4.8
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, the old-style Radiance RLE decoder in libvips/foreign/radiance.c can process a repeat marker at the beginning of a scanline in scanline_read_old and read q[-1] before any prior pixel exists. A crafted Radiance image loaded through VipsForeignLoadRad can therefore disclose four bytes of adjacent heap data, most likely other image data. This issue is fixed in version 8.18.3.
- Record
UBUNTU-CVE-2026-70653- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-04
OSVUSN-8994-1 No score
vips vulnerabilities
It was discovered that libvips incorrectly handled certain PDF files with a page that defines a width but not a height. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service, or obtain sensitive information. This issue only affected Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, and Ubuntu 24.04 LTS. (CVE-2025-59933)
It was discovered that libvips incorrectly determined image dimensions in the vipsload operation, leading to an integer overflow. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2026-33327)
It was discovered that libvips incorrectly determined image dimensions in the gifload operation on 32-bit systems, leading to an integer overflow. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service. This issue only affected Ubuntu 24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-33328)
It was discovered that libvips did not properly validate EXIF tag groups. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service. (CVE-2026-35590)
It was discovered that libvips incorrectly determined the number of channels in certain encoded tiles within TIFF images. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service, or possibly execute arbitrary code. This issue only affected Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-35591)
It was discovered that libvips incorrectly validated scanlines in certain TIFF images with many bands, leading to an integer overflow. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service, obtain sensitive information, or possibly execute arbitrary code. (CVE-2026-69242)
It was discovered that libvips incorrectly calculated frame heights when loading certain multi-page TIFF images through ImageMagick. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service. (CVE-2026-70651)
It was discovered that libvips incorrectly handled certain Radiance images. An attacker could possibly use this issue to obtain sensitive information. (CVE-2026-70653)
It was discovered that libvips incorrectly calculated read sizes when processing certain uncompressed PPM images from custom sources. An attacker could possibly use this issue to cause libvips to crash, resulting in a denial of service, or possibly execute arbitrary code. This issue only affected Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-70654)
- Record
USN-8994-1- Updated
- 2026-11-04
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
vipsDebian:12 |
All versions, plus listed versions 8.14.1-38.14.1-3+deb12u18.14.1-3+deb12u28.14.1-3+deb12u38.14.2-1 Show 30 moreShow less8.14.3-18.14.4-18.14.5-18.15.0-18.15.0-28.15.0~rc2-18.15.0~rc2-28.15.1-18.15.1-1.18.15.1-1.1~exp18.15.2-18.15.2-28.15.3-18.16.0-18.16.0-28.16.1-18.16.1-28.17.3-18.17.3-28.18.0-18.18.0-28.18.0-38.18.1-18.18.2-18.18.3-18.18.4-18.18.5-18.18.6-18.18.6-28.18.7-1 |
None known |
vipsDebian:13 |
before 8.16.1-1+deb13u2, plus listed versions 8.16.1-18.16.1-1+deb13u1 |
8.16.1-1+deb13u2 |
vipsDebian:14 |
before 8.18.3-1, plus listed versions 8.16.1-18.16.1-28.17.3-18.17.3-28.18.0-1 Show 4 moreShow less8.18.0-28.18.0-38.18.1-18.18.2-1 |
8.18.3-1 |
vipsUbuntu:Pro:18.04:LTS |
before 8.4.5-1ubuntu0.1~esm2, plus listed versions 8.4.5-1build18.4.5-1ubuntu0.1~esm1 |
8.4.5-1ubuntu0.1~esm2 |
vipsUbuntu:Pro:20.04:LTS |
before 8.9.1-2ubuntu0.1~esm2, plus listed versions 8.7.4-1build18.8.3-38.8.3-3ubuntu18.9.0-18.9.0-1build18.9.1-18.9.1-28.9.1-2ubuntu0.1~esm1 |
8.9.1-2ubuntu0.1~esm2 |
vipsUbuntu:Pro:22.04:LTS |
before 8.12.1-1ubuntu0.1~esm3, plus listed versions 8.10.5-2ubuntu18.11.4-28.12.1-18.12.1-1build18.12.1-1ubuntu0.1~esm18.12.1-1ubuntu0.1~esm2 |
8.12.1-1ubuntu0.1~esm3 |
vipsUbuntu:Pro:24.04:LTS |
before 8.15.1-1.1ubuntu0.1~esm2, plus listed versions 8.14.3-18.14.5-18.15.0-18.15.0-28.15.1-1 Show 4 moreShow less8.15.1-1build18.15.1-1.1build38.15.1-1.1build48.15.1-1.1ubuntu0.1~esm1 |
8.15.1-1.1ubuntu0.1~esm2 |
vipsUbuntu:Pro:26.04:LTS |
before 8.18.0-1ubuntu0.1~esm2, plus listed versions 8.16.1-18.16.1-28.17.3-28.18.0-18.18.0-1build18.18.0-1ubuntu0.1~esm1 |
8.18.0-1ubuntu0.1~esm2 |
vipsUbuntu:Pro:16.04:LTS From an advisory covering 9 CVEs |
before 8.2.2-1ubuntu0.1~esm1, plus listed versions 7.40.6-2ubuntu28.0.2-28.2.1-18.2.2-1 |
8.2.2-1ubuntu0.1~esm1 |
vipsUbuntu:Pro:18.04:LTS From an advisory covering 9 CVEs |
before 8.4.5-1ubuntu0.1~esm2, plus listed versions 8.4.5-1build18.4.5-1ubuntu0.1~esm1 |
8.4.5-1ubuntu0.1~esm2 |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
vipsUbuntu:Pro:20.04:LTS From an advisory covering 9 CVEs |
before 8.9.1-2ubuntu0.1~esm2, plus listed versions 8.7.4-1build18.8.3-38.8.3-3ubuntu18.9.0-18.9.0-1build18.9.1-18.9.1-28.9.1-2ubuntu0.1~esm1 |
8.9.1-2ubuntu0.1~esm2 |
vipsUbuntu:Pro:22.04:LTS From an advisory covering 9 CVEs |
before 8.12.1-1ubuntu0.1~esm3, plus listed versions 8.10.5-2ubuntu18.11.4-28.12.1-18.12.1-1build18.12.1-1ubuntu0.1~esm18.12.1-1ubuntu0.1~esm2 |
8.12.1-1ubuntu0.1~esm3 |
vipsUbuntu:Pro:24.04:LTS From an advisory covering 9 CVEs |
before 8.15.1-1.1ubuntu0.1~esm2, plus listed versions 8.14.3-18.14.5-18.15.0-18.15.0-28.15.1-1 Show 4 moreShow less8.15.1-1build18.15.1-1.1build38.15.1-1.1build48.15.1-1.1ubuntu0.1~esm1 |
8.15.1-1.1ubuntu0.1~esm2 |
vipsUbuntu:Pro:26.04:LTS From an advisory covering 9 CVEs |
before 8.18.0-1ubuntu0.1~esm2, plus listed versions 8.16.1-18.16.1-28.17.3-28.18.0-18.18.0-1build18.18.0-1ubuntu0.1~esm1 |
8.18.0-1ubuntu0.1~esm2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, aliases, references | OSV | |
| affected, facts | OSV | |
| aliases, published | EUVD | |
| first indexed | CVE List, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-70653 is a medium vulnerability (CVSS 4.8) in Libvips, published August 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.12%, the 2nd percentile. Fixed in vips 8.16.1-1+deb13u2.
References
github.com/libvips/libvips/security/advisories/GHSA-fh99-55jf-5hj3
github.com/libvips/libvips/pull/5037
github.com/libvips/libvips/commit/dc945573e15d598054e701c65b90a35b16b19304
github.com/libvips/libvips/releases/tag/v8.18.3
github.com/CVEProject/cvelistV5/tree/main/cves/2026/70xxx/CVE-2026-70653.json
nvd.nist.gov/vuln/detail/CVE-2026-70653
Show 12 moreShow less
security-tracker.debian.org/tracker/CVE-2026-70653
ubuntu.com/security/CVE-2026-70653
cve.org/CVERecord?id=CVE-2026-70653
ubuntu.com/security/notices/USN-8994-1
ubuntu.com/security/CVE-2025-59933
ubuntu.com/security/CVE-2026-33327
ubuntu.com/security/CVE-2026-33328
ubuntu.com/security/CVE-2026-35590
ubuntu.com/security/CVE-2026-35591
ubuntu.com/security/CVE-2026-69242
ubuntu.com/security/CVE-2026-70651
ubuntu.com/security/CVE-2026-70654