REDHAT-BUG-844101: Low severity ImageMagick ImageMagick vulnerability
Tom Lane (tgl) found an issue in ImageMagick. Basically CVE-2011-3026 deals with libpng memory allocation, limitations have been added so that a bad PNG can't cause the system to allocate a lot of memory causing a denial of service. However on further investigation of ImageMagick Tom Lane found that PNG malloc function (Magickpngmalloc) in turn calls AcquireMagickMemory with an improper size argument:
#ifdef PNGUSERMEMSUPPORTED static pngvoidp Magickpngmalloc(pngstructp pngptr,pnguint32 size) { (void) pngptr; return((pngvoidp) AcquireMagickMemory((sizet) size)); }
This is incorrect, the size argument should be declared pngallocsizet according to 1.5, or pngsizet according to 1.2.
"As this function stands, it invisibly does the wrong thing for any request over 4GB. On big-endian architectures it very possibly will do the wrong thing even for requests less than that. So the reason why the hard-wired 4GB limit prevents a core dump is that it masks the ABI mismatch here."
So basically we have memory allocations problems that can probably lead to a denial of service.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-844101?
The severity of REDHAT-BUG-844101 relates to a denial of service vulnerability due to improper memory allocation in ImageMagick.
How does REDHAT-BUG-844101 affect ImageMagick?
REDHAT-BUG-844101 affects ImageMagick by allowing a malformed PNG file to potentially consume excessive memory resources.
How do I fix REDHAT-BUG-844101?
To fix REDHAT-BUG-844101, you should update ImageMagick to the latest version that includes the patch addressing this vulnerability.
What version of ImageMagick is impacted by REDHAT-BUG-844101?
All versions of ImageMagick prior to the patch that addresses REDHAT-BUG-844101 are impacted.
Is there a workaround for REDHAT-BUG-844101?
While the recommended approach is to update ImageMagick, temporarily restricting input handling of PNG files can serve as a potential workaround.