Bug 1743757 (CVE-2019-14811)

Summary: CVE-2019-14811 ghostscript: Safer mode bypass by .forceput exposure in .pdf_hook_DSC_Creator (701445)
Product: [Other] Security Response Reporter: Cedric Buissart <cbuissar>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: chazlett, deekej, mosvald, sbunciak, security-response-team, twaugh, zdohnal
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ghostscript 9.50 Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in the .pdf_hook_DSC_Creator procedure where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. A specially crafted PostScript file could disable security protection and then have access to the file system, or execute arbitrary commands.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-02 13:07:26 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: 1744008, 1744009, 1744010, 1744011, 1747908    
Bug Blocks: 1743530    

Description Cedric Buissart 2019-08-20 15:48:39 UTC
In Ghostscript 9.27, some ephemeral routines in .pdf_hook_DSC_Creator can expose .forceput operator when hooking errors. This issue is similar to upstream bug https://bugs.ghostscript.com/show_bug.cgi?id=700317. 

There is no direct path to reach .pdf_hook_DSC_Creator however it can be obtained from .pdfdsc.

http://git.ghostscript.com/?p=ghostpdl.git;a=blob;f=Resource/Init/gs_pdfwr.ps;h=00c19faf3c4169fc26f7d35e759b94a7444d63a8;hb=ebfaa2db4cb518a2bc99c1532d4429201a13dfab#l651

 651           } bind .makeoperator .forceput
 652           systemdict /.pdf_hooked_DSC_Creator //true .forceput
 653         } executeonly if
 654         pop
 655       } if

This can be used to disable -dSAFER and, for example, access files outside of the restricted area, or command execution.

Reference:
https://bugs.ghostscript.com/show_bug.cgi?id=701445

Comment 4 Cedric Buissart 2019-08-21 06:43:10 UTC
Mitigation:

Please refer to the "Mitigation" section of CVE-2018-16509 : https://access.redhat.com/security/cve/cve-2018-16509

Comment 10 Cedric Buissart 2019-08-27 15:21:53 UTC
Acknowledgments:

Name: Artifex Software
Upstream: Hiroki MATSUKUMA (Cyber Defense Institute)

Comment 11 errata-xmlrpc 2019-09-02 07:54:04 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2019:2586 https://access.redhat.com/errata/RHSA-2019:2586

Comment 12 errata-xmlrpc 2019-09-02 07:54:27 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2019:2591 https://access.redhat.com/errata/RHSA-2019:2591

Comment 13 Cedric Buissart 2019-09-02 08:53:28 UTC
Created ghostscript tracking bugs for this issue:

Affects: fedora-all [bug 1747908]

Comment 14 Product Security DevOps Team 2019-09-02 13:07:26 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-2019-14811