libvips is a fast image processing library with low memory needs. Prior to version 8.18.3, applications that define unusual custom libvips sources and use them to process untrusted uncompressed PPM images can trigger a max/min error in vips_source_read_to_memory in libvips/iofuncs/source.c. The function uses VIPS_MAX instead of VIPS_MIN when selecting the remaining read size, allowing up to 4032 bytes to be written beyond the allocated heap buffer and causing memory corruption or a process crash. This issue is fixed in version 8.18.3.
{
"binaries": [
{
"binary_name": "gir1.2-vips-8.0",
"binary_version": "8.2.2-1ubuntu0.1~esm1"
},
{
"binary_name": "libvips-tools",
"binary_version": "8.2.2-1ubuntu0.1~esm1"
},
{
"binary_name": "libvips42",
"binary_version": "8.2.2-1ubuntu0.1~esm1"
},
{
"binary_name": "python-vipscc",
"binary_version": "8.2.2-1ubuntu0.1~esm1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-vips-8.0",
"binary_version": "8.4.5-1ubuntu0.1~esm1"
},
{
"binary_name": "libvips-tools",
"binary_version": "8.4.5-1ubuntu0.1~esm1"
},
{
"binary_name": "libvips42",
"binary_version": "8.4.5-1ubuntu0.1~esm1"
},
{
"binary_name": "python-vipscc",
"binary_version": "8.4.5-1ubuntu0.1~esm1"
}
]
}