Description
libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, applications that define unusual custom libvips sources and use them to process untrusted uncompressed PPM images can trigger a max/min error in vips_source_read_to_memory in libvips/iofuncs/source.c. The function uses VIPS_MAX instead of VIPS_MIN when selecting the remaining read size, allowing up to 4032 bytes to be written beyond the allocated heap buffer and causing memory corruption or a process crash. This issue is fixed in version 8.18.3.
Published: 2026-08-20
Score: 5.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In libvips prior to version 8.18.3, parsing of uncompressed PPM images via a custom source can trigger a max/min error in vips_source_read_to_memory, causing an off‑by‑one selection of remaining read size with VIPS_MAX instead of VIPS_MIN. This permits an overflow of up to 4032 bytes beyond the allocated heap buffer, resulting in memory corruption or a process crash. This flaw is a classic heap‑based buffer overflow (CWE-122) and an instance of out‑of‑bounds write (CWE-787), both of which could allow attackers to tamper with application memory or cause denial of service.

Affected Systems

All deployments of the libvips image‑processing library older than version 8.18.3 that enable custom libvips sources for reading uncompressed PPM files are affected. This includes any application or service that links against the libvips library via the libvips:libvips package and does not enforce input validation on PPM images. The vulnerability is delivered through the libvips:libvips vendor/product family.

Risk and Exploitability

The CVSS score of 5.8 indicates a medium severity vulnerability. The EPSS score of 0.00114 implies a very low probability of exploitation, and the issue is not listed in the CISA KEV catalog. The likely attack vector involves an attacker delivering a crafted PPM image to an affected application that processes custom sources, which could be via local file uploads, network interfaces, or other input channels. Successful exploitation would allow memory corruption or cause a crash, potentially leading to arbitrary code execution or denial of service depending on the system’s configuration.

Generated by OpenCVE AI on August 31, 2026 at 14:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade libvips to version 8.18.3 or later to apply the buffer overflow fix.
  • Disable the use of custom libvips sources for untrusted PPM images, or constrain input to trusted streams only.
  • Monitor application stability and memory usage for signs of corruption; consider applying additional runtime protections such as stack canaries or ASLR if supported.

Generated by OpenCVE AI on August 31, 2026 at 14:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 21 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 20 Aug 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Libvips
Libvips libvips
Vendors & Products Libvips
Libvips libvips

Thu, 20 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
Description libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, applications that define unusual custom libvips sources and use them to process untrusted uncompressed PPM images can trigger a max/min error in vips_source_read_to_memory in libvips/iofuncs/source.c. The function uses VIPS_MAX instead of VIPS_MIN when selecting the remaining read size, allowing up to 4032 bytes to be written beyond the allocated heap buffer and causing memory corruption or a process crash. This issue is fixed in version 8.18.3.
Title libvips: A well-crafted PPM image processed via a custom source could lead to possible heap buffer write overflow
Weaknesses CWE-122
References
Metrics cvssV4_0

{'score': 5.8, 'vector': 'CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T11:35:46.559Z

Reserved: 2026-08-04T21:48:08.612Z

Link: CVE-2026-70654

cve-icon Vulnrichment

Updated: 2026-08-21T11:34:07.324Z

cve-icon NVD

Status : Received

Published: 2026-08-20T21:17:08.567

Modified: 2026-08-21T12:16:31.637

Link: CVE-2026-70654

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-20T21:07:25Z

Links: CVE-2026-70654 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T14:30:09Z

Weaknesses