| 标题 | libvips (libvips project) libvips 8.19.0 Integer Overflow to Buffer Overflow |
|---|
| 描述 | 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). |
|---|
| 来源 | ⚠️ https://github.com/libvips/libvips/issues/4857 |
|---|
| 用户 | Niebelungen (UID 95430) |
|---|
| 提交 | 2026-02-10 09時52分 (8 月前) |
|---|
| 管理 | 2026-02-20 21時21分 (10 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 347222 [libvips 直到 8.19.0 libvips/iofuncs/source.c vips_source_read_to_memory 内存损坏] |
|---|
| 积分 | 20 |
|---|