libvips Memory Corruption Vulnerability in Matrix Load Function

Vulnerability

A memory corruption vulnerability has been identified in libvips versions prior to 8.18.0. The issue arises in the matrix loading functions within 'libvips/foreign/matrixload.c', where improper handling of signed and unsigned values can lead to stack underflow writes. This vulnerability is exploitable locally and has been confirmed with an AddressSanitizer (ASAN) report indicating a stack-buffer-overflow error.

Impact

Exploitation of this vulnerability causes a stack-buffer-overflow, leading to a write operation that underflows the 'line' variable, allowing for potential memory corruption.

Reproduction

The vulnerability can be reproduced by building libvips with AddressSanitizer enabled, which detects memory corruption issues. After compiling libvips with ASAN, the 'vips' command-line tool can be used to copy data from '/proc/self/mem' to a file, triggering the vulnerability. The ASAN report will confirm the stack-buffer-overflow error, indicating that the vulnerability has been successfully exploited.

Remediation

Users can upgrade to libvips version 8.19.0 or later, where this vulnerability has been fixed.

Added: Feb 25, 2026, 3:20 AM
Updated: Feb 25, 2026, 3:20 AM

Vulnerability Rating

Custom Algorithm
spread
6.6
impact
7.5
exploitability
4.0
remediation
7.7
relevance
3.2
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.