Bug report(s): https://github.com/ImageMagick/ImageMagick/issues/99 https://bugs.launchpad.net/bugs/1537425 Upstream patch(es): https://github.com/ImageMagick/ImageMagick/commit/ca0c886abd6d3ef335eb74150cd23b89ebd17135 CVE assignment: http://seclists.org/oss-sec/2016/q3/590
Created ImageMagick tracking bugs for this issue: Affects: fedora-all [bug 1378790]
coders/viff.c: > number_pixels=(MagickSizeType) image->columns*image->rows; > for (y=0; y < (ssize_t) image->rows; y++) > { > q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); > if (q == (PixelPacket *) NULL) > break; > for (x=0; x < (ssize_t) image->columns; x++) > { > SetPixelRed(q,ScaleCharToQuantum(*p)); > SetPixelGreen(q,ScaleCharToQuantum(*(p+number_pixels))); > SetPixelBlue(q,ScaleCharToQuantum(*(p+2*number_pixels))); > if (image->colors != 0) Depending on the image dimensions, number_pixels can be quite large > number_pixels=(MagickSizeType) image->columns*image->rows; This causes problems when adding this to "p" to calculate the address. It could wrap around and cause an access to invalid memory. > SetPixelGreen(q,ScaleCharToQuantum(*(p+number_pixels))); > SetPixelBlue(q,ScaleCharToQuantum(*(p+2*number_pixels))); I'm not sure if the upstream patch properly protects against that.
Statement: Red Hat Product Security has rated this issue as having Moderate security impact. This issue is not currently planned to be addressed in future updates. For additional information, refer to the Issue Severity Classification: https://access.redhat.com/security/updates/classification/.