
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-33327 is a heap-based buffer overflow vulnerability in libvips, a fast image processing library, affecting the vipsload operation. The flaw exists in all versions up to and including 8.18.0, where incorrect determination of image dimensions leads to an integer overflow (CWE-190) and a subsequent heap-based buffer overflow. It was responsibly disclosed by Elhanan Haenel, patched on March 7, 2026 (commit 61e71c1), and publicly disclosed on July 20, 2026. The vulnerability carries a CVSS v4.0 base score of 7.0 (High) (GitHub Advisory).
The root cause is an integer overflow (CWE-190, CAPEC-92) in the vipsload / VipsForeignLoadVips operation within libvips/iofuncs/image.c. When loading a native VIPS image file, the library incorrectly computed image dimensions without guarding against overflow in the expression element_size × bands × width × height, allowing the result to wrap around to a small value. This caused a subsequent heap buffer allocation that was too small, leading to a heap-based buffer overflow when image data was written into it. The fix adds checked multiplication using g_uint64_checked_mul() at the sanity-check stage and corrects a related arithmetic error in file-length validation (file_length - sizeof_header instead of file_length + sizeof_header). Exploitation requires local access with low privileges and no user interaction (GitHub Advisory, Fix Commit).
Successful exploitation can result in high integrity and availability impact on the vulnerable system, with limited confidentiality exposure (low). An attacker who can supply a crafted VIPS image file to an application using libvips could trigger a heap buffer overflow, potentially leading to arbitrary code execution, application crash (denial of service), or memory disclosure. Applications that process user-supplied images using libvips — such as image servers, CMS platforms, or media pipelines — are at risk if they pass untrusted VIPS-format files through the vipsload operation (GitHub Advisory).
vipsload / VipsForeignLoadVips operation. This requires local access or the ability to submit files to a locally accessible image processing pipeline.vipsload on the malicious file, the dimension sanity check (absent in vulnerable versions) fails to detect the overflow, and a heap buffer is allocated with an undersized length..vips image files submitted to image processing directories, particularly with unusually large or suspicious dimension values in their headers.Upgrade libvips to version 8.18.1 or later, which includes the fix introduced in commit 61e71c1 (Fix Commit). For those unable to upgrade immediately, two workarounds are available: (1) block the VipsForeignLoadVips operation programmatically using vips_operation_block_set("VipsForeignLoadVips", TRUE), available in most language bindings; or (2) set the VIPS_BLOCK_UNTRUSTED environment variable to prevent use of all "untrusted" image decoders. Applications that do not need to process native VIPS-format files should apply the block as a defense-in-depth measure regardless of upgrade status (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."