Bug 1898290 (CVE-2020-27771)

Summary: CVE-2020-27771 ImageMagick: outside the range of representable values of type 'unsigned char' at coders/pdf.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 7.0.9-0 Doc Type: If docs needed, set a value
Doc Text:
In RestoreMSCWarning() of /coders/pdf.c there are several areas where calls to GetPixelIndex() could result in values outside the range of representable for the unsigned char type. The patch casts the return value of GetPixelIndex() to ssize_t type to avoid this bug. This undefined behavior could be triggered when ImageMagick processes a crafted pdf file.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-24 23:35:21 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: 1901287, 1901288, 1910532    
Bug Blocks: 1891602    

Description Guilherme de Almeida Suckevicz 2020-11-16 18:30:56 UTC
In ImageMagick, there is an outside the range of representable values of type 'unsigned char' at coders/pdf.c.

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

Upstream patch:
https://github.com/ImageMagick/ImageMagick/commit/872ffe6d0131beec8b47568a4874ffaca91a872e
https://github.com/ImageMagick/ImageMagick/commit/9dd1c7e1f8f6c137bfd3293be2554f59456c7b62

Comment 1 Guilherme de Almeida Suckevicz 2020-11-16 18:30:59 UTC
Acknowledgments:

Name: Suhwan Song (Seoul National University)

Comment 3 Todd Cullum 2020-11-16 20:15:44 UTC
Flaw summary:

In RestoreMSCWarning() of /coders/pdf.c there are several areas where calls to GetPixelIndex() could result in values outside the range of representable for the unsigned char type. The patch casts the return value of GetPixelIndex() to ssize_t type to avoid this bug. This undefined behavior could be triggered when ImageMagick processes a crafted pdf file. Red Hat Product Security marked this as Low severity because although it could potentially lead to an impact to application availability, no specific impact was demonstrated in this case.

Comment 4 Guilherme de Almeida Suckevicz 2020-11-24 19:29:15 UTC
Created ImageMagick tracking bugs for this issue:

Affects: epel-8 [bug 1901287]
Affects: fedora-all [bug 1901288]

Comment 5 Product Security DevOps Team 2020-11-24 23:35:21 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-27771

Comment 7 Eric Christensen 2021-02-15 20:55:13 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 .

Red Hat Product Security marked this as Low severity because although it could potentially lead to an impact to application availability, no specific impact was demonstrated in this case.