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.
https://github.com/libvips/libvips/security/advisories/GHSA-rjmm-3qch-m9rg
https://github.com/libvips/libvips/releases/tag/v8.18.3
https://github.com/libvips/libvips/pull/5038
https://github.com/libvips/libvips/commit/80e021c6cdda0f80b756c2109d99839c94c03258
Published: 2026-08-20
Updated: 2026-08-21
Base Score: 6.4
Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:P
Severity: Medium
Base Score: 5.5
Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Severity: Medium
Base 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
Severity: Medium
EPSS: 0.00114