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.
CVE-2026-70654
This medium-severity CVE scores 5.8 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.1%, top 98% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- Lower severity and no public exploit yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 5.8
- EG Score
- 5.8(medium)
- EG Risk
- 26(Track)EG Risk 26/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity58% × 45%Exploitation0% × 40%Automatability0% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- 0%
- EPSS %ILE
- 2%
- KEV
- Not listed
Published
August 20, 2026
Last Modified
September 18, 2026
Advisory Details (4)
Auto-updated Aug 20, 2026A well-crafted PPM image processed via a custom source could lead to possible heap buffer write overflow · Advisory · libvips/libvips · GitHub
https://github.com/libvips/libvips/security/advisories/GHSA-rjmm-3qch-m9rgv8.18.3
Patch available: libvips/libvips v8.18.3
https://github.com/libvips/libvips/releases/tag/v8.18.3source: fix max/min confusion
Patch available: libvips/libvips v8.18.3-rc1 (PR #5038 merged 2026-05-13)
https://github.com/libvips/libvips/pull/5038commit 80e021c6cdda (libvips/libvips)
Patch available: libvips/libvips v8.18.3-rc1 (contains commit 80e021c6cdda)
https://github.com/libvips/libvips/commit/80e021c6cdda0f80b756c2109d99839c94c03258Affected Packages
(3 across 3 ecosystems)
Debian:12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| vips | 8.14.1-3 ... 8.18.6-1 (33 versions) | — | — |
Debian:13(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| vips | 8.16.1-1 ... 8.18.6-1 (14 versions) | — | — |
Debian:14(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| vips | 8.16.1-1 ... 8.18.2-1 (9 versions) | 8.18.3-1 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 11× in last 7d / 42× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-09-20 20:37 UTCEG score recompute
- 2026-09-20 20:16 UTCEPSS rescore
- 2026-09-19 20:28 UTCEG score recompute
- 2026-09-18 20:19 UTCEG score recompute
- 2026-09-18 19:28 UTCEPSS rescore
- 2026-09-18 03:37 UTCEG score recompute
- 2026-09-17 03:28 UTCEG score recompute
- 2026-09-16 14:08 UTCEPSS rescore
- 2026-09-16 05:15 UTCEPSS rescore
- 2026-09-16 02:57 UTCEG score recompute
- 2026-09-15 03:12 UTCEPSS rescore
- 2026-09-14 02:39 UTCEG score recompute
- 2026-09-12 02:21 UTCEG score recompute
- 2026-09-11 14:53 UTCEPSS rescore
- 2026-09-11 02:12 UTCEG score recompute
- 2026-09-10 09:35 UTCEPSS rescore
- 2026-09-09 01:53 UTCEG score recompute
- 2026-09-08 22:01 UTCEPSS rescore
- 2026-09-06 15:30 UTCEG score recompute
- 2026-09-06 13:47 UTCEPSS rescore
- 2026-09-05 15:31 UTCEPSS rescore
- 2026-09-04 15:12 UTCEG score recompute
- 2026-09-04 05:07 UTCEPSS rescore
- 2026-09-01 14:19 UTCEG score recompute
- 2026-09-01 13:54 UTCEPSS rescore
Show 22 moreShow fewer
- 2026-09-01 04:40 UTCEPSS rescore
- 2026-08-31 14:07 UTCEG score recompute
- 2026-08-30 19:17 UTCEPSS rescore
- 2026-08-30 13:47 UTCEG score recompute
- 2026-08-30 01:22 UTCEPSS rescore
- 2026-08-29 13:38 UTCEG score recompute
- 2026-08-28 21:42 UTCEPSS rescore
- 2026-08-28 13:26 UTCEG score recompute
- 2026-08-27 13:17 UTCEG score recompute
- 2026-08-26 14:47 UTCEPSS rescore
- 2026-08-26 13:08 UTCEG score recompute
- 2026-08-25 13:49 UTCEPSS rescore
- 2026-08-25 12:54 UTCEG score recompute
- 2026-08-24 12:45 UTCEG score recompute
- 2026-08-23 12:36 UTCEG score recompute
- 2026-08-23 00:19 UTCEPSS rescore
- 2026-08-22 12:28 UTCEG score recompute
- 2026-08-21 23:49 UTCEPSS rescore
- 2026-08-21 12:19 UTCEG score recompute
- 2026-08-21 11:39 UTCEG score recompute
- 2026-08-20 21:17 UTCEG score recompute
- 2026-08-20 21:16 UTCMITRE cvelistV5first tracked
Related CVEs(same CWE)
Same CWE
10 shownCWE-122
Frequently asked(5)
What is CVE-2026-70654?
When was CVE-2026-70654 disclosed?
Is CVE-2026-70654 actively exploited?
What is the CVSS score of CVE-2026-70654?
How do I remediate CVE-2026-70654?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-70654
Is Your Infrastructure Affected by CVE-2026-70654?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.