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 scanlinereadold 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
libvipsto a version that resolves this vulnerability.Fixed in 8.18.3
Event History
Frequently Asked Questions
What input path is vulnerable?
The issue is reachable when a crafted Radiance image is loaded through VipsForeignLoadRad. It affects the old-style Radiance RLE decoder in libvips/foreign/radiance.c.
What must an attacker control to exploit this issue?
An attacker needs to supply a specially crafted Radiance image containing a repeat marker at the beginning of a scanline. That condition causes the decoder to read before a prior pixel exists.
What information can be exposed?
The out-of-bounds read can disclose four bytes of adjacent heap memory. The disclosed data is most likely other image data.
Which versions should be remediated?
Versions before 8.18.3 are affected. Upgrade to libvips 8.18.3 or later to obtain the fix.