Bug 1870267 (CVE-2020-16302)

Summary: CVE-2020-16302 ghostscript: buffer overflow in jetp3852_print_page() in devices/gdev3852.c could result in a privilege escalation
Product: [Other] Security Response Reporter: Michael Kaplan <mkaplan>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: amasferr, chazlett, deekej, jlyle, mosvald, twaugh, zdohnal
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ghostscript 9.51 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-18 20:36:03 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: 1870269, 1872900, 1872901    
Bug Blocks: 1870273    

Description Michael Kaplan 2020-08-19 15:39:59 UTC
A buffer overflow vulnerability in jetp3852_print_page() in devices/gdev3852.c of Artifex Software GhostScript v9.50 allows a remote attacker to escalate privileges via a crafted PDF file. This is fixed in v9.51.

References:

https://bugs.ghostscript.com/show_bug.cgi?id=701815
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=366ad48d076c1aa4c8f83c65011258a04e348207

Comment 1 Michael Kaplan 2020-08-19 15:40:26 UTC
Created ghostscript tracking bugs for this issue:

Affects: fedora-all [bug 1870269]

Comment 2 Todd Cullum 2020-08-26 20:34:11 UTC
Flaw summary:

In jetp3852_print_page of /devices/gdev3852.c, buffer `data[DATA_SIZE]` is created but not initialized. Data from this buffer is later used to index into the `srp8[]` buffer[1], causing a potential out-of-bounds read. The patch uses memset to 0-initialize the `data` buffer after its creation.

1. https://git.ghostscript.com/?p=ghostpdl.git;a=blob;f=devices/gdev3852.c;h=d984fa102ef7b5087843a9f856dcfa05147586d5;hb=366ad48d076c1aa4c8f83c65011258a04e348207#l120

Comment 4 Todd Cullum 2020-08-26 20:57:11 UTC
I've lowered this to Low because when testing on version 9.25, ghostscript catches the error and exits without triggering addresssanitizer. Additionally, this seems to be mislabeled as a privilege escalation bug at various outlets. The initial report shows that this is an out-of-bounds read of a global buffer which could lead to denial of service.

Comment 5 Todd Cullum 2020-08-26 20:57:36 UTC
Mitigation:

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

Comment 7 errata-xmlrpc 2021-05-18 15:37:31 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2021:1852 https://access.redhat.com/errata/RHSA-2021:1852

Comment 8 Product Security DevOps Team 2021-05-18 20:36:03 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-16302