CVE-2026-3283: 
Wolfi vulnerability analysis and mitigation

Overview

CVE-2026-3283 is a signed integer overflow leading to an out-of-bounds read vulnerability in libvips 8.19.0, specifically in the vips_extract_band_build function within libvips/conversion/extract.c. Reported by researcher Niebelungen-D on February 15, 2026, and publicly disclosed on February 27, 2026, the flaw allows a locally authenticated low-privileged attacker to bypass bounds validation and trigger an out-of-bounds memory read. It carries a CVSS v3.1 base score of 7.1 (High) (Feedly, GitHub Issue).

Technical details

The root cause is a signed integer overflow (CWE-125: Out-of-bounds Read; CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer) in the bounds check within vips_extract_band_build(). The check if (extract->band + extract->n > bands) uses signed integer arithmetic; when attacker-controlled values near INT_MAX are supplied (e.g., via --vips-max-coord 2147483647), the addition wraps to a negative value, bypassing the validation. The unchecked values are then used directly in pointer arithmetic in vips_extract_band_buffer() as p = in[0] + extract->band * es, computing an invalid base pointer that is subsequently dereferenced in a copy loop, producing an out-of-bounds read and ASAN-detected SEGV crash. The fix (commit 24795bb) changes the comparison to use unsigned 64-bit arithmetic ((guint64) extract->band + extract->n > bands) to prevent overflow (GitHub Issue, Patch Commit).

Impact

Successful exploitation allows a locally authenticated attacker with low privileges to read memory beyond intended buffer boundaries, resulting in information disclosure of potentially sensitive in-memory data. The vulnerability also causes a crash (SEGV) in the affected process, impacting availability. There is no integrity impact, and lateral movement potential is limited given the local-only attack vector (Feedly, GitHub Issue).

Exploitability

A proof-of-concept exploit has been publicly disclosed via the GitHub issue tracker, demonstrating the vulnerability using the standard vips CLI tool with crafted arguments. The EPSS score is approximately 0.012% (0.000120), indicating low probability of widespread exploitation. There is no evidence of in-the-wild exploitation, no known threat actor attribution, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (Feedly, GitHub Issue).

Exploitation steps

  1. Prerequisite: Obtain local access to a system running libvips 8.19.0 with a low-privileged user account.
  2. Build or obtain the vulnerable binary: Confirm the installed libvips version is 8.19.0 (unpatched). Optionally build with ASAN for verification: meson setup build-asan-only -Ddebug=true -Db_sanitize=address && meson compile -C build-asan-only.
  3. Prepare a valid input image: Create a minimal valid vips image using the CLI: ASAN_OPTIONS=detect_leaks=0 ./build-asan-only/tools/vips black /tmp/extract_band_in.v 1 1.
  4. Trigger the overflow: Invoke the extract_band operation with values near INT_MAX and an elevated --vips-max-coord to bypass the signed bounds check:
ASAN_OPTIONS=detect_leaks=0:halt_on_error=1:abort_on_error=1 \
LSAN_OPTIONS=detect_leaks=0 \
./build-asan-only/tools/vips --vips-max-coord 2147483647 \
extract_band /tmp/extract_band_in.v /tmp/extract_band_out.v 2147483647 --n 2147483647
  1. Observe the result: The signed addition extract->band + extract->n overflows to a negative value, bypassing the range check. The invalid pointer is dereferenced in vips_extract_band_buffer() at extract.c:378, producing an out-of-bounds read (SEGV/ASAN crash) and potentially exposing adjacent memory contents (GitHub Issue).

Indicators of compromise

  • Process: Unexpected crashes or SEGV signals from processes invoking libvips extract_band operations; core dumps originating from vips_extract_band_buffer in extract.c:378.
  • Logs: Application or system logs showing abnormal termination of libvips-based services (e.g., image processing pipelines using sharp, imgproxy, or similar); ASAN output referencing vips_extract_band_buffer if debug builds are in use.
  • Command Line: Audit logs (e.g., auditd) showing invocations of the vips CLI tool with --vips-max-coord 2147483647 and extract_band with arguments near INT_MAX (2147483647) (GitHub Issue).

Mitigation and workarounds

Apply patch commit 24795bb3d19d84f7b6f5ed86451ad556c8f2fe70, which changes the bounds check in vips_extract_band_build() and vips_extract_area_build() to use unsigned 64-bit arithmetic, preventing signed integer overflow. This fix was merged into the libvips:8.18 branch via PR #4887 on February 19, 2026. Organizations should update to a patched release (8.18.x containing this fix or later) and restrict local user access to systems running vulnerable libvips instances as an interim measure (Patch Commit, PR #4887).

Community reactions

The vulnerability was reported by researcher Niebelungen-D directly to the libvips project via GitHub, and the maintainer (lovell) responded promptly, merging a fix within four days of the report. The issue received routine coverage from automated CVE tracking services and vulnerability databases. No significant broader media coverage or notable security researcher commentary beyond the GitHub thread has been identified (GitHub Issue, PR #4887).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

vips: 8.14.1-3+deb12u3

Fixed

sid

vips: 8.18.0-3

Fixed

trixie

vips: 8.16.1-1+deb13u1

Fixed

Ubuntu

Unknown

bionic (esm-apps)

vips

Unknown

devel

vips

Unknown

focal (esm-apps)

vips

Unknown

jammy

vips

Unknown

jammy (esm-apps)

vips

Unknown

noble

vips

Unknown

noble (esm-apps)

vips

Unknown

resolute

vips

Unknown

Source: This report was generated using AI

Related Wolfi vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-102748CRITICAL9.2
  • Wolfi logoWolfi
  • dgraph
NoYesOct 14, 2026
CVE-2026-70159HIGH7.5
  • C# logoC#
  • dotnet-sdk-aot-10.0
NoYesOct 13, 2026
CVE-2026-100413HIGH7
  • Wolfi logoWolfi
  • seaweedfs
NoNoOct 14, 2026
CVE-2026-85747MEDIUM6.8
  • Wolfi logoWolfi
  • distribution
NoYesOct 13, 2026
CVE-2026-70162MEDIUM5.9
  • C# logoC#
  • dotnet-9
NoYesOct 13, 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