CVE-2016-7977
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection...
CVE-2016-7977 is a medium vulnerability (CVSS 5.5) in Artifex Ghostscript, published October 6, 2016. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.57%, the 91st percentile. Fixed in ghostscript 9.19~dfsg-3.1.
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.5
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
- Record
CVE-2016-7977- CVSS 3.0
- 5.5 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
CVE List No score
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
- Record
CVE-2016-7977- Updated
- 2026-11-02
EUVDEUVD-2016-8825 No score
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
- Record
EUVD-2016-8825- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-cvc4-qjwp-hwhc
5.5
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection...
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
- Record
GHSA-cvc4-qjwp-hwhc- CVSS 3.0
- 5.5 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVBELL-CVE-2016-7977
5.5
CVE-2016-7977 does not affect BellSoft software
- Record
BELL-CVE-2016-7977- CVSS 3.0
- 5.5 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSV
5.5
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
- Record
CVE-2016-7977- CVSS 3.0
- 5.5 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 8 moreShow less
OSVDEBIAN-CVE-2016-7977
5.5
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
- Record
DEBIAN-CVE-2016-7977- CVSS 3.0
- 5.5 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2017:0013
6.2
Red Hat Security Advisory: ghostscript security update
- Record
RHSA-2017:0013- CVSS 3.0
- 6.2 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVRHSA-2017:0014
6.2
Red Hat Security Advisory: ghostscript security update
- Record
RHSA-2017:0014- CVSS 3.0
- 6.2 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2016-7977
5.5
Ghostscript before 9.21 might allow remote attackers to bypass the SAFER mode protection mechanism and consequently read arbitrary files via the use of the .libfile operator in a crafted postscript document.
- Record
UBUNTU-CVE-2016-7977- CVSS 3.0
- 5.5 Medium
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVMGASA-2017-0133 No score
Updated ghostscript packages fix security vulnerability
Various userparams in Ghostscript allow %pipe% in paths, allowing remote shell command execution (CVE-2016-7976).
The .libfile function in Ghostscript doesn't check PermitFileReading array, allowing remote file disclosure (CVE-2016-7977).
Reference leak in the .setdevice function in Ghostscript allows use-after-free and remote code execution (CVE-2016-7978).
Type confusion in the .initialize_dsc_parser function in Ghostscript allows remote code execution (CVE-2016-7979).
The .sethalftone5 function in psi/zht2.c in Ghostscript before 9.21 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted Postscript document that calls .sethalftone5 with an empty operand stack (CVE-2016-8602).
A heap based buffer overflow was found in the ghostscript jbig2_decode_gray_scale_image() function used to decode halftone segments in a JBIG2 image. A document (PostScript or PDF) with an embedded, specially crafted, jbig2 image could trigger a segmentation fault in ghostscript (CVE-2016-9601).
The pdf14_open function in base/gdevp14.c in Ghostscript 9.20 allows remote attackers to cause a denial of service (use-after-free and application crash) via a crafted file that is mishandled in the color management module (CVE-2016-10217).
The pdf14_pop_transparency_group function in base/gdevp14.c in the PDF Transparency module in Ghostscript 9.20 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted file (CVE-2016-10218).
The intersect function in base/gxfill.c in Ghostscript 9.20 allows remote attackers to cause a denial of service (divide-by-zero error and application crash) via a crafted file (CVE-2016-10219).
The gs_makewordimagedevice function in base/gsdevmem.c in Ghostscript 9.20 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted file that is mishandled in the PDF Transparency module (CVE-2016-10220).
The mem_get_bits_rectangle function in base/gdevmem.c in Ghostscript 9.20 allows remote attackers to cause a denial of service (NULL pointer dereference and application crash) via a crafted file (CVE-2017-5951).
The mem_get_bits_rectangle function in Ghostscript 9.20 allows remote attackers to cause a denial of service (NULL pointer dereference) via a crafted PostScript document (CVE-2017-7207).
Ghostscript through 2017-04-26 allows -dSAFER bypass and remote command execution via .rsdparams type confusion with a "/OutputFile (%pipe%" substring in a crafted .eps document that is an input to the gs program (CVE-2017-8291).
- Record
MGASA-2017-0133- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10003-1 No score
ghostscript-9.20-2.1 on GA media
These are all security issues fixed in the ghostscript-9.20-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10003-1- Updated
- 2026-11-02
OSVSUSE-SU-2016:2493-1 No score
Security update for ghostscript-library
This update for ghostscript-library fixes the following issues:
-
Multiple security vulnerabilities have been discovered where ghostscript's '-dsafer' flag did not provide sufficient protection against unintended access to the file system. Thus, a machine that would process a specially crafted Postscript file would potentially leak sensitive information to an attacker. (CVE-2013-5653, CVE-2016-7977, bsc#1001951)
-
Insufficient validation of the type of input in .initialize_dsc_parser used to allow remote code execution. (CVE-2016-7979, bsc#1001951)
-
An integer overflow in the gs_heap_alloc_bytes function used to allow remote attackers to cause a denial of service (crash) via specially crafted Postscript files. (CVE-2015-3228, boo#939342)
- Record
SUSE-SU-2016:2493-1- Updated
- 2026-11-02
OSVUSN-3148-1 No score
ghostscript vulnerabilities
Tavis Ormandy discovered multiple vulnerabilities in the way that Ghostscript processes certain Postscript files. If a user or automated system were tricked into opening a specially crafted file, an attacker could cause a denial of service or possibly execute arbitrary code. (CVE-2016-7976, CVE-2016-7978, CVE-2016-7979, CVE-2016-8602)
Multiple vulnerabilities were discovered in Ghostscript related to information disclosure. If a user or automated system were tricked into opening a specially crafted file, an attacker could expose sensitive data. (CVE-2013-5653, CVE-2016-7977)
- Record
USN-3148-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
ghostscriptDebian:12 |
before 9.19~dfsg-3.1 | 9.19~dfsg-3.1 |
ghostscriptDebian:13 |
before 9.19~dfsg-3.1 | 9.19~dfsg-3.1 |
ghostscriptDebian:14 |
before 9.19~dfsg-3.1 | 9.19~dfsg-3.1 |
ghostscriptDebian:7 |
before 9.05~dfsg-6.3+deb7u3, plus listed versions 9.05~dfsg-6.39.05~dfsg-6.3+deb7u19.05~dfsg-6.3+deb7u2 |
9.05~dfsg-6.3+deb7u3 |
ghostscriptDebian:8 |
before 9.06~dfsg-2+deb8u3, plus listed versions 9.06~dfsg-29.06~dfsg-2+deb8u19.06~dfsg-2+deb8u2 |
9.06~dfsg-2+deb8u3 |
ghostscriptMageia:5 |
before 9.20-1.mga5 | 9.20-1.mga5 |
gutenprintMageia:5 |
before 5.2.10-5.1.mga5 | 5.2.10-5.1.mga5 |
libspectreMageia:5 |
before 0.2.7-5.1.mga5 | 0.2.7-5.1.mga5 |
ghostscriptRed Hat:enterprise_linux:7::client |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-cupsRed Hat:enterprise_linux:7::client |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
Show 55 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ghostscript-debuginfoRed Hat:enterprise_linux:7::client |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-develRed Hat:enterprise_linux:7::client |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-docRed Hat:enterprise_linux:7::client |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-gtkRed Hat:enterprise_linux:7::client |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscriptRed Hat:enterprise_linux:7::computenode |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-cupsRed Hat:enterprise_linux:7::computenode |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-debuginfoRed Hat:enterprise_linux:7::computenode |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-develRed Hat:enterprise_linux:7::computenode |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-docRed Hat:enterprise_linux:7::computenode |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-gtkRed Hat:enterprise_linux:7::computenode |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscriptRed Hat:enterprise_linux:7::server |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-cupsRed Hat:enterprise_linux:7::server |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-debuginfoRed Hat:enterprise_linux:7::server |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-develRed Hat:enterprise_linux:7::server |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-docRed Hat:enterprise_linux:7::server |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-gtkRed Hat:enterprise_linux:7::server |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscriptRed Hat:enterprise_linux:7::workstation |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-cupsRed Hat:enterprise_linux:7::workstation |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-debuginfoRed Hat:enterprise_linux:7::workstation |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-develRed Hat:enterprise_linux:7::workstation |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-docRed Hat:enterprise_linux:7::workstation |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscript-gtkRed Hat:enterprise_linux:7::workstation |
before 0:9.07-20.el7_3.1 | 0:9.07-20.el7_3.1 |
ghostscriptRed Hat:enterprise_linux:6::client |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-debuginfoRed Hat:enterprise_linux:6::client |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-develRed Hat:enterprise_linux:6::client |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-docRed Hat:enterprise_linux:6::client |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-gtkRed Hat:enterprise_linux:6::client |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscriptRed Hat:enterprise_linux:6::computenode |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-debuginfoRed Hat:enterprise_linux:6::computenode |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-develRed Hat:enterprise_linux:6::computenode |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-docRed Hat:enterprise_linux:6::computenode |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-gtkRed Hat:enterprise_linux:6::computenode |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscriptRed Hat:enterprise_linux:6::server |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-debuginfoRed Hat:enterprise_linux:6::server |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-develRed Hat:enterprise_linux:6::server |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-docRed Hat:enterprise_linux:6::server |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-gtkRed Hat:enterprise_linux:6::server |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscriptRed Hat:enterprise_linux:6::workstation |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-debuginfoRed Hat:enterprise_linux:6::workstation |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-develRed Hat:enterprise_linux:6::workstation |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-docRed Hat:enterprise_linux:6::workstation |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-gtkRed Hat:enterprise_linux:6::workstation |
before 0:8.70-21.el6_8.1 | 0:8.70-21.el6_8.1 |
ghostscript-librarySUSE:Linux Enterprise Software Development Kit 11 SP4 |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:OpenStack Cloud 5 |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Manager 2.1 |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Manager Proxy 2.1 |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Linux Enterprise Point of Sale 11 SP3 |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Linux Enterprise Server 11 SP2-LTSS |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Linux Enterprise Server 11 SP3-LTSS |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Linux Enterprise Server 11 SP3-TERADATA |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Linux Enterprise Server 11 SP4 |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscript-librarySUSE:Linux Enterprise Server for SAP Applications 11 SP4 |
before 8.62-32.38.1 | 8.62-32.38.1 |
ghostscriptUbuntu:14.04:LTS |
before 9.10~dfsg-0ubuntu10.5, plus listed versions 9.10~dfsg-0ubuntu29.10~dfsg-0ubuntu39.10~dfsg-0ubuntu49.10~dfsg-0ubuntu59.10~dfsg-0ubuntu6 Show 8 moreShow less9.10~dfsg-0ubuntu79.10~dfsg-0ubuntu89.10~dfsg-0ubuntu99.10~dfsg-0ubuntu109.10~dfsg-0ubuntu10.19.10~dfsg-0ubuntu10.29.10~dfsg-0ubuntu10.39.10~dfsg-0ubuntu10.4 |
9.10~dfsg-0ubuntu10.5 |
ghostscriptUbuntu:16.04:LTS |
before 9.18~dfsg~0-0ubuntu2.2, plus listed versions 9.16~dfsg~0-0ubuntu39.16~dfsg~0-0ubuntu49.18~dfsg~0-0ubuntu19.18~dfsg~0-0ubuntu2 |
9.18~dfsg~0-0ubuntu2.2 |
ghostscriptopenSUSE:Tumbleweed |
before 9.20-2.1 | 9.20-2.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
debian.org/security/2016/dsa-3691
securityfocus.com/bid/95334
oracle.com/technetwork/security-advisory/cpujan2018-3236628.html
rhn.redhat.com/errata/RHSA-2017-0013.html
git.ghostscript.com?p=ghostpdl.git%3Ba=commitdiff%3Bh=8abd22010eb4db0fb1b10e430d5f5d83e015ef70
openwall.com/lists/oss-security/2016/09/29/28
Show 55 moreShow less
rhn.redhat.com/errata/RHSA-2017-0014.html
bugs.ghostscript.com/show_bug.cgi?id=697169
openwall.com/lists/oss-security/2016/10/05/15
ghostscript.com/doc/9.21/History9.htm
security.gentoo.org/glsa/201702-31
nvd.nist.gov/vuln/detail/CVE-2016-7977
git.ghostscript.com?p=ghostpdl.git;a=commitdiff;h=8abd22010eb4db0fb1b10e430d5f5d83e015ef70
github.com/advisories/GHSA-cvc4-qjwp-hwhc
docs.bell-sw.com/security/cves/CVE-2016-7977
security-tracker.debian.org/tracker/CVE-2016-7977
advisories.mageia.org/MGASA-2017-0133.html
bugs.mageia.org/show_bug.cgi?id=19542
lists.fedoraproject.org/archives/list/[email protected]/thread/IJ3D6O5XHLO4UJVJETVCWPIWWWV6LQUE
access.redhat.com/errata/RHSA-2017:0013
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=1380327
bugzilla.redhat.com/show_bug.cgi?id=1380415
bugzilla.redhat.com/show_bug.cgi?id=1382300
bugzilla.redhat.com/show_bug.cgi?id=1382305
bugzilla.redhat.com/show_bug.cgi?id=1383940
security.access.redhat.com/data/csaf/v2/advisories/2017/rhsa-2017_0013.json
access.redhat.com/security/cve/CVE-2013-5653
cve.org/CVERecord?id=CVE-2013-5653
nvd.nist.gov/vuln/detail/CVE-2013-5653
access.redhat.com/security/cve/CVE-2016-7977
cve.org/CVERecord?id=CVE-2016-7977
access.redhat.com/security/cve/CVE-2016-7978
cve.org/CVERecord?id=CVE-2016-7978
nvd.nist.gov/vuln/detail/CVE-2016-7978
access.redhat.com/security/cve/CVE-2016-7979
cve.org/CVERecord?id=CVE-2016-7979
nvd.nist.gov/vuln/detail/CVE-2016-7979
access.redhat.com/security/cve/CVE-2016-8602
cve.org/CVERecord?id=CVE-2016-8602
nvd.nist.gov/vuln/detail/CVE-2016-8602
access.redhat.com/errata/RHSA-2017:0014
security.access.redhat.com/data/csaf/v2/advisories/2017/rhsa-2017_0014.json
suse.com/support/update/announcement/2016/suse-su-20162493-1
bugzilla.suse.com/1001951
bugzilla.suse.com/939342
suse.com/security/cve/CVE-2013-5653
suse.com/security/cve/CVE-2015-3228
suse.com/security/cve/CVE-2016-7977
suse.com/security/cve/CVE-2016-7979
ubuntu.com/security/CVE-2016-7977
openwall.com/lists/oss-security/2016/10/05/7
ubuntu.com/security/notices/USN-3148-1
ubuntu.com/security/CVE-2013-5653
ubuntu.com/security/CVE-2016-7976
ubuntu.com/security/CVE-2016-7978
ubuntu.com/security/CVE-2016-7979
ubuntu.com/security/CVE-2016-8602
suse.com/security/cve/CVE-2016-7976
suse.com/security/cve/CVE-2016-7978
suse.com/security/cve/CVE-2016-8602