In WriteOnePNGImage() of the PNG coder at coders/png.c, an improper call to AcquireVirtualMemory() and memset() allows for an out-of-bounds write later when PopShortPixel() from MagickCore/quantum-private.h is called. The patch fixes the calls by adding 256 to rowbytes. An attacker who is able to supply a specially crafted image could affect availability with a low impact to data integrity. This flaw affects ImageMagick versions prior to 6.9.10-68 and 7.0.8-68.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
Name | Vendor | Start Version | End Version |
---|---|---|---|
Imagemagick | Imagemagick | * | 6.9.10-68 (excluding) |
Imagemagick | Imagemagick | 7.0.8 (including) | 7.0.8-68 (excluding) |
Imagemagick | Ubuntu | bionic | * |
Imagemagick | Ubuntu | esm-infra-legacy/trusty | * |
Imagemagick | Ubuntu | esm-infra/xenial | * |
Imagemagick | Ubuntu | focal | * |
Imagemagick | Ubuntu | groovy | * |
Imagemagick | Ubuntu | hirsute | * |
Imagemagick | Ubuntu | impish | * |
Imagemagick | Ubuntu | kinetic | * |
Imagemagick | Ubuntu | lunar | * |
Imagemagick | Ubuntu | mantic | * |
Imagemagick | Ubuntu | oracular | * |
Imagemagick | Ubuntu | trusty | * |
Imagemagick | Ubuntu | trusty/esm | * |
Imagemagick | Ubuntu | upstream | * |
Imagemagick | Ubuntu | xenial | * |