| Title | libvips (libvips project) libvips 8.19.0 Integer Overflow to Buffer Overflow |
|---|
| Description | In vips_source_read_to_memory() (called via vips_source_map()), a 64-bit source->length is used to size a GByteArray via g_byte_array_set_size() (32-bit guint). For sources larger than G_MAXUINT (>4GiB), the allocation truncates but the subsequent read loop writes up to the full 64-bit length, causing a heap-buffer-overflow. Triggered when libvips processes a seekable VipsSource with length >4GiB and uses the read-to-memory fallback (e.g., when mmap() is unavailable/fails). |
|---|
| Source | ⚠️ https://github.com/libvips/libvips/issues/4857 |
|---|
| User | Niebelungen (UID 95430) |
|---|
| Submission | 02/10/2026 09:52 (3 months ago) |
|---|
| Moderation | 02/20/2026 21:21 (10 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 347222 [libvips up to 8.19.0 libvips/iofuncs/source.c vips_source_read_to_memory heap-based overflow] |
|---|
| Points | 20 |
|---|