CVE-2019-14869
published 2019-11-15CVE-2019-14869: A flaw was found in all versions of ghostscript 9.x before 9.50, where the `.charkeys` procedure, where it did not properly secure its privileged calls…
PriorityP352high8.8CVSS 3.1
AVNACLPRNUIRSUCHIHAH
EPSS
3.09%
87.7th percentile
A flaw was found in all versions of ghostscript 9.x before 9.50, where the `.charkeys` procedure, where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. An attacker could abuse this flaw by creating a specially crafted PostScript file that could escalate privileges within the Ghostscript and access files outside of restricted areas or execute commands.
Affected
12 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| artifex | ghostscript | — | — |
| artifex | ghostscript | >= 0 < 9.50~dfsg-3 | 9.50~dfsg-3 |
| artifex | ghostscript | >= 0 < 9.50~dfsg-3 | 9.50~dfsg-3 |
| artifex | ghostscript | >= 0 < 9.50~dfsg-3 | 9.50~dfsg-3 |
| artifex | ghostscript | >= 0 < 9.50~dfsg-3 | 9.50~dfsg-3 |
| artifex | ghostscript | >= 9.00 < 9.50 | 9.50 |
| debian | ghostscript | < ghostscript 9.50~dfsg-3 (bookworm) | ghostscript 9.50~dfsg-3 (bookworm) |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| opensuse | leap | — | — |
| opensuse | leap | — | — |
CVSS provenance
nvdv3.18.8HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
nvdv3.07.3HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
nvdv2.06.8MEDIUMAV:N/AC:M/Au:N/C:P/I:P/A:P
osv8.8HIGH
vendor_debian8.8HIGH
vendor_redhat8.8HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
A flaw was found in Ghostscript as shipped with Red Hat Enterprise Linux 8.
ghsa_unreviewed·2026-10-20·CVSS 8.8
CVE-2026-112177 [HIGH] CWE-648 A flaw was found in Ghostscript as shipped with Red Hat Enterprise Linux 8.
A flaw was found in Ghostscript as shipped with Red Hat Enterprise Linux 8. The correction for CVE-2019-14869 was omitted during the rebase from version 9.25 to 9.27, leaving privileged .forceput operations in the .charkeys procedure insufficiently protected. Processing a specially crafted PostScript file may allow an attacker to bypass -dSAFER restrictions and access files outside the permitted paths or execute commands with the permissions of the Ghostscript process.
GHSA
GHSA-c87p-jj8p-c38g: A flaw was found in all versions of ghostscript 9
ghsa_unreviewed·2022-05-24
CVE-2019-14869 [MEDIUM] GHSA-c87p-jj8p-c38g: A flaw was found in all versions of ghostscript 9
A flaw was found in all versions of ghostscript 9.x before 9.28, where the `.charkeys` procedure, where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. An attacker could abuse this flaw by creating a specially crafted PostScript file that could escalate privileges within the Ghostscript and access files outside of restricted areas or execute commands.
OSV
CVE-2019-14869: A flaw was found in all versions of ghostscript 9
osv·2019-11-15·CVSS 8.8
CVE-2019-14869 [HIGH] CVE-2019-14869: A flaw was found in all versions of ghostscript 9
A flaw was found in all versions of ghostscript 9.x before 9.50, where the `.charkeys` procedure, where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. An attacker could abuse this flaw by creating a specially crafted PostScript file that could escalate privileges within the Ghostscript and access files outside of restricted areas or execute commands.
Red Hat
ghostscript: Reintroduction of .charkeys -dSAFER bypass in RHEL 8
vendor_redhat·2026-10-20·CVSS 8.8
CVE-2026-112177 [HIGH] CWE-648 ghostscript: Reintroduction of .charkeys -dSAFER bypass in RHEL 8
ghostscript: Reintroduction of .charkeys -dSAFER bypass in RHEL 8
A flaw was found in Ghostscript as shipped with Red Hat Enterprise Linux 8. The correction for CVE-2019-14869 was omitted during the rebase from version 9.25 to 9.27, leaving privileged .forceput operations in the .charkeys procedure insufficiently protected. Processing a specially crafted PostScript file may allow an attacker to bypass -dSAFER restrictions and access files outside the permitted paths or execute commands with the permissions of the Ghostscript process.
Statement: Red Hat rates this vulnerability as Important. This regression affects the Ghostscript 9.27 package line in Red Hat Enterprise Linux 8, where the fix for CVE-2019-14869 was omitted during the package rebase. Systems that automatically process untr
Red Hat
ghostscript: -dSAFER escape in .charkeys (701841)
vendor_redhat·2019-11-14·CVSS 7.8
CVE-2019-14869 [HIGH] CWE-648 ghostscript: -dSAFER escape in .charkeys (701841)
ghostscript: -dSAFER escape in .charkeys (701841)
A flaw was found in all versions of ghostscript 9.x before 9.50, where the `.charkeys` procedure, where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. An attacker could abuse this flaw by creating a specially crafted PostScript file that could escalate privileges within the Ghostscript and access files outside of restricted areas or execute commands.
A flaw was found in the `.charkeys` procedure, where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. An attacker could abuse this flaw by creating a specially crafted PostScript file that could escalate privileges within the Ghostscript and access files outside of restricted areas or execu
Ubuntu
Ghostscript vulnerability
vendor_ubuntu·2019-11-14
CVE-2019-14869 Ghostscript vulnerability
Title: Ghostscript vulnerability
Summary: Ghostscript could be made to crash, access files, or run programs if it
opened a specially crafted file.
Paul Manfred and Lukas Schauer discovered that Ghostscript incorrectly
handled certain PostScript files. If a user or automated system were
tricked into processing a specially crafted file, a remote attacker could
possibly use this issue to access arbitrary files, execute arbitrary code,
or cause a denial of service.
Instructions: In general, a standard system update will make all the necessary changes.
Debian
CVE-2019-14869: ghostscript - A flaw was found in all versions of ghostscript 9.x before 9.50, where the `.cha...
vendor_debian·2019·CVSS 8.8
CVE-2019-14869 [HIGH] CVE-2019-14869: ghostscript - A flaw was found in all versions of ghostscript 9.x before 9.50, where the `.cha...
A flaw was found in all versions of ghostscript 9.x before 9.50, where the `.charkeys` procedure, where it did not properly secure its privileged calls, enabling scripts to bypass `-dSAFER` restrictions. An attacker could abuse this flaw by creating a specially crafted PostScript file that could escalate privileges within the Ghostscript and access files outside of restricted areas or execute commands.
Scope: local
bookworm: resolved (fixed in 9.50~dfsg-3)
bullseye: resolved (fixed in 9.50~dfsg-3)
forky: resolved (fixed in 9.50~dfsg-3)
sid: resolved (fixed in 9.50~dfsg-3)
trixie: resolved (fixed in 9.50~dfsg-3)
No detection rules found.
No public exploits indexed.
Bugzilla
CVE-2026-112177 ghostscript: Reintroduction of .charkeys -dSAFER bypass in RHEL 8
bugzilla·2026-10-19·CVSS 8.8
CVE-2026-112177 [HIGH] CVE-2026-112177 ghostscript: Reintroduction of .charkeys -dSAFER bypass in RHEL 8
CVE-2026-112177 ghostscript: Reintroduction of .charkeys -dSAFER bypass in RHEL 8
A flaw was found in Ghostscript as shipped with Red Hat Enterprise Linux 8. The fix for CVE-2019-14869 was omitted when the package was rebased from version 9.25 to 9.27, reintroducing three privileged .forceput calls in the .charkeys procedure in Resource/Init/gs_ttf.ps. Processing a specially crafted PostScript file may allow an attacker to bypass -dSAFER restrictions and access files outside the permitted paths or execute commands with the permissions of the Ghostscript process.
Bugzilla
CVE-2019-14869 ghostscript: -dSAFER escape in .charkeys (701841) [fedora-all]
bugzilla·2019-11-14·CVSS 8.8
CVE-2019-14869 [HIGH] CVE-2019-14869 ghostscript: -dSAFER escape in .charkeys (701841) [fedora-all]
CVE-2019-14869 ghostscript: -dSAFER escape in .charkeys (701841) [fedora-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of fedora-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affects multiple supported versions
Bugzilla
CVE-2019-14869 ghostscript: -dSAFER escape in .charkeys (701841)
bugzilla·2019-11-05·CVSS 7.8
CVE-2019-14869 [HIGH] CVE-2019-14869 ghostscript: -dSAFER escape in .charkeys (701841)
CVE-2019-14869 ghostscript: -dSAFER escape in .charkeys (701841)
While .charkeys cannot be called directly, it is called by .loadwofffont, which in turn can be recovered from .loadfontfile. Using a stack overflow and error handlers, .charkeys can be crashed at a convenient location and .forceput recovered from the stack.
This can be used to disable -dSAFER and, for example, access files outside of the restricted area, or command execution.
The vulnerability is not effective against ghostscript 9.50 thanks to the reimplementation of the SAFER feature.
Reference:
https://bugs.ghostscript.com/show_bug.cgi?id=701841
Discussion:
Upstream fix:
https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=485904772c5f
---
The .charkey operator was vulnerable in one way or another (`superexec
http://jvn.jp/en/jp/JVN52486659/index.htmlhttp://lists.opensuse.org/opensuse-security-announce/2019-11/msg00049.htmlhttp://lists.opensuse.org/opensuse-security-announce/2019-11/msg00050.htmlhttp://www.openwall.com/lists/oss-security/2019/11/15/1https://access.redhat.com/errata/RHSA-2020:0222https://bugs.ghostscript.com/show_bug.cgi?id=701841https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14869https://git.ghostscript.com/?p=ghostpdl.git%3Ba=commitdiff%3Bh=485904772c5fhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2Q4E3OTDAJRSUCOBTDQO7Y5UTE2FFMLF/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HC4REO73BEJOJAU7NHFHJECAUAYJUE3H/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IX55AEDERTDFEZAROKZW64MZRPLINEGI/https://seclists.org/bugtraq/2019/Nov/27http://jvn.jp/en/jp/JVN52486659/index.htmlhttp://lists.opensuse.org/opensuse-security-announce/2019-11/msg00049.htmlhttp://lists.opensuse.org/opensuse-security-announce/2019-11/msg00050.htmlhttp://www.openwall.com/lists/oss-security/2019/11/15/1https://access.redhat.com/errata/RHSA-2020:0222https://bugs.ghostscript.com/show_bug.cgi?id=701841https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14869https://git.ghostscript.com/?p=ghostpdl.git%3Ba=commitdiff%3Bh=485904772c5fhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2Q4E3OTDAJRSUCOBTDQO7Y5UTE2FFMLF/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HC4REO73BEJOJAU7NHFHJECAUAYJUE3H/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IX55AEDERTDFEZAROKZW64MZRPLINEGI/https://seclists.org/bugtraq/2019/Nov/27
2019-11-15
Published