Bug 1894231 (CVE-2020-27754)

Summary: CVE-2020-27754 ImageMagick: outside the range of representable values of type 'long' and signed integer overflow at MagickCore/quantize.c
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: fedora, jhorak, mike, pahan, rhel8-maint, security-response-team, stransky
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ImageMagick 6.9.10-69, ImageMagick 7.0.8-69 Doc Type: If docs needed, set a value
Doc Text:
In IntensityCompare() of /magick/quantize.c, there are calls to PixelPacketIntensity() which could return overflowed values to the caller when ImageMagick processes a crafted input file. To mitigate this, the patch introduces and uses the ConstrainPixelIntensity() function, which forces the pixel intensities to be within the proper bounds in the event of an overflow.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-24 23:34:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1901251, 1901252, 1910552    
Bug Blocks: 1891602    

Description Guilherme de Almeida Suckevicz 2020-11-03 18:58:47 UTC
In ImageMagick, there are outside the range of representable values of type 'long' and signed integer overflow at MagickCore/quantize.c.

Reference:
https://github.com/ImageMagick/ImageMagick/issues/1754

Upstream patch:
https://github.com/ImageMagick/ImageMagick6/commit/d5df600d43c8706df513a3273d09aee6f54a9233

Comment 1 Guilherme de Almeida Suckevicz 2020-11-03 18:58:50 UTC
Acknowledgments:

Name: Suhwan Song (Seoul National University)

Comment 2 Todd Cullum 2020-11-03 23:03:04 UTC
Flaw summary:

In IntensityCompare() of /magick/quantize.c, there are calls to PixelPacketIntensity() which could return overflowed values to the caller when ImageMagick processes a crafted input file. To mitigate this, the patch introduces and uses the ConstrainPixelIntensity() function, which forces the pixel intensities to be within the proper bounds in the event of an overflow.

Comment 3 Todd Cullum 2020-11-03 23:05:09 UTC
I marked this as impact Low because while the issue could potentially cause an impact to availability, none was demonstrated - UndefinedBehaviorSanitizer just showed that there is undefined behavior present.

Comment 4 Todd Cullum 2020-11-03 23:05:43 UTC
Statement:

This flaw is out of support scope for Red Hat Enterprise Linux 5, 6, and 7. Inkscape is not affected because it no longer uses a bundled ImageMagick in Red Hat Enterprise Linux 8. For more information regarding support scopes, please see https://access.redhat.com/support/policy/updates/errata .

Comment 5 Guilherme de Almeida Suckevicz 2020-11-24 19:14:56 UTC
Created ImageMagick tracking bugs for this issue:

Affects: epel-8 [bug 1901251]
Affects: fedora-all [bug 1901252]

Comment 6 Product Security DevOps Team 2020-11-24 23:34:29 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2020-27754