CVE-2026-33327
Wolfi vulnerability analysis and mitigation

Overview

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).

Technical details

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).

Impact

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).

Exploitation steps

  1. Craft a malicious VIPS image file: Create a native VIPS-format image file with manipulated header fields specifying image dimensions (width, height, bands, or element size) whose product overflows a 64-bit integer, resulting in a computed size that wraps to a small value.
  2. Deliver the file to a target application: Supply the crafted file to any application or service that uses libvips ≤ 8.18.0 and processes VIPS-format images via the vipsload / VipsForeignLoadVips operation. This requires local access or the ability to submit files to a locally accessible image processing pipeline.
  3. Trigger the integer overflow: When the application calls 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.
  4. Achieve heap buffer overflow: Image data is written beyond the allocated buffer boundary, potentially corrupting heap metadata or adjacent allocations, which may lead to application crash or, with further exploitation, arbitrary code execution (GitHub Advisory, Fix Commit).

Indicators of compromise

  • Logs: Application crash logs or core dumps originating from a libvips-linked process after processing a VIPS-format image file; error messages containing "dimension overflow" (present in patched versions) or heap corruption signals.
  • File System: Unexpected or anomalous .vips image files submitted to image processing directories, particularly with unusually large or suspicious dimension values in their headers.
  • Process: Abnormal termination (SIGSEGV, SIGABRT) of image processing services or daemons linked against libvips when handling VIPS-format input files.

Mitigation and workarounds

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).

Additional resources


SourceThis report was generated using AI

Related Wolfi vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-64624HIGH8.5
  • Wolfi logoWolfi
  • freerdp-libs
NoYesJul 20, 2026
CVE-2026-35591HIGH7
  • Wolfi logoWolfi
  • vips
NoYesJul 20, 2026
CVE-2026-35590MEDIUM6.8
  • Wolfi logoWolfi
  • vips
NoYesJul 20, 2026
CVE-2026-33328MEDIUM6.8
  • Wolfi logoWolfi
  • vips
NoYesJul 20, 2026
CVE-2026-16336MEDIUM5.3
  • Wolfi logoWolfi
  • trino
NoNoJul 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management