CVE-2023-46751
High · 7.5CVSS
7.5
EPSS
1.5%
Published
Dec 6, 2023
CISA due date
—
Cloudanix analysis
A flaw in a common document-processing tool can let attackers send bad files that make the program crash, causing temporary outages for any service that converts or prints documents.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Use-after-free in gdev_prn_open_printer_seekable allows a dangling pointer dereference that crashes the Ghostscript process when handling crafted input.
Why it matters to the business
Systems that render or convert PostScript/PDF documents with Ghostscript can be forced offline, interrupting document workflows and print services until the process is restarted.
How an attack unfolds
An unauthenticated remote attacker supplies a specially crafted input stream that reaches gdev_prn_open_printer_seekable, leaving a dangling pointer which is later dereferenced, resulting in an immediate crash.
How to fix it
Upgrade Artifex Ghostscript to the newest release that contains the fix for this dangling-pointer issue; if no fixed version is available for your distribution, apply vendor patches or replace Ghostscript with an unaffected alternative until an update can be installed.
How to confirm the fix worked
Confirm the installed Ghostscript version is newer than 10.02.0, then attempt to process a known-triggering test file in a controlled environment and verify the process no longer crashes.
Typical attack path
- Attacker sends malicious PostScript or PDF content to any service that invokes Ghostscript
- Input reaches the printer device initialization path
- gdev_prn_open_printer_seekable is called and creates a dangling pointer
- Subsequent dereference triggers a segmentation fault and process termination
How to detect it
Review application and system logs for Ghostscript segmentation faults or abrupt process exits immediately after document-processing requests; correlate with inbound files or network sessions that triggered the crash.
What your security team should do
- Inventory all hosts and containers running Ghostscript and prioritize update of internet-facing or high-volume document-processing systems
- Add version checks to software bill-of-materials and CI pipelines
- Monitor crash logs for Ghostscript segmentation faults as a temporary detection measure
The record
An issue was discovered in the function gdev_prn_open_printer_seekable() in Artifex Ghostscript through 10.02.0 allows remote attackers to crash the application via a dangling pointer.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | ghostscript | 0 | 9.27-16.el8_10 |
| AlmaLinux:8 | ghostscript-doc | 0 | 9.27-16.el8_10 |
| AlmaLinux:8 | ghostscript-tools-dvipdf | 0 | 9.27-16.el8_10 |
| AlmaLinux:8 | ghostscript-tools-fonts | 0 | 9.27-16.el8_10 |
| AlmaLinux:8 | ghostscript-tools-printing | 0 | 9.27-16.el8_10 |
| AlmaLinux:8 | ghostscript-x11 | 0 | 9.27-16.el8_10 |
| AlmaLinux:8 | libgs | 0 | 9.27-16.el8_10 |
| AlmaLinux:8 | libgs-devel | 0 | 9.27-16.el8_10 |
| AlmaLinux:9 | ghostscript | 0 | 9.54.0-18.el9_6 |
| AlmaLinux:9 | ghostscript-doc | 0 | 9.54.0-18.el9_6 |
| AlmaLinux:9 | ghostscript-tools-dvipdf | 0 | 9.54.0-18.el9_6 |
| AlmaLinux:9 | ghostscript-tools-fonts | 0 | 9.54.0-18.el9_6 |
| AlmaLinux:9 | ghostscript-tools-printing | 0 | 9.54.0-18.el9_6 |
| AlmaLinux:9 | ghostscript-x11 | 0 | 9.54.0-18.el9_6 |
| AlmaLinux:9 | libgs | 0 | 9.54.0-18.el9_6 |
| AlmaLinux:9 | libgs-devel | 0 | 9.54.0-18.el9_6 |
| Chainguard | ghostscript | 0 | 10.02.1-r0 |
| Chainguard | ghostscript-dbg | 0 | 10.02.1-r0 |
| Chainguard | ghostscript-dev | 0 | 10.02.1-r0 |
| Chainguard | ghostscript-doc | 0 | 10.02.1-r0 |
| Debian:12 | ghostscript | 0 | 10.0.0~dfsg-11+deb12u3 |
| Debian:13 | ghostscript | 0 | 10.02.1~dfsg-1 |
| Debian:14 | ghostscript | 0 | 10.02.1~dfsg-1 |
| Mageia:9 | ghostscript | 0 | 10.00.0-6.4.mga9 |
| SUSE:Enterprise Storage 7.1 | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Server 12 SP5 | ghostscript | 0 | 9.52-23.63.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | ghostscript | 0 | 9.52-23.63.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | ghostscript | 0 | 9.52-150000.177.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | ghostscript | 0 | 9.52-23.63.1 |
| Ubuntu:20.04:LTS | ghostscript | 0 | 9.50~dfsg-5ubuntu4.11 |
| Ubuntu:22.04:LTS | ghostscript | 0 | 9.55.0~dfsg1-0ubuntu5.6 |
| Ubuntu:23.10 | ghostscript | 0 | 10.01.2~dfsg1-0ubuntu2.2 |
| Ubuntu:24.04:LTS | ghostscript | 0 | 10.02.1~dfsg1-0ubuntu1 |
| Wolfi | ghostscript | 0 | 10.02.1-r0 |
| Wolfi | ghostscript-dbg | 0 | 10.02.1-r0 |
| Wolfi | ghostscript-dev | 0 | 10.02.1-r0 |
| Wolfi | ghostscript-doc | 0 | 10.02.1-r0 |
| openSUSE:Leap 15.4 | ghostscript | 0 | 9.52-150000.177.1 |
| openSUSE:Leap 15.5 | ghostscript | 0 | 9.52-150000.177.1 |
| openSUSE:Tumbleweed | ghostscript | 0 | 9.56.1-8.1 |
Related vulnerabilities
- CVE-2024-46956 An issue was discovered in psi/zfile.c in Artifex Ghostscript before 10.04.0. Also affects ghostscript
- CVE-2024-46953 An issue was discovered in base/gsdevice.c in Artifex Ghostscript before 10.04.0. Also affects ghostscript
- CVE-2024-46954 An issue was discovered in decode_utf8 in base/gp_utf8.c in Artifex Ghostscript before… Also affects ghostscript
- CVE-2024-46952 An issue was discovered in pdf/pdf_xref.c in Artifex Ghostscript before 10.04.0. Also affects ghostscript
- CVE-2024-46951 An issue was discovered in psi/zcolor.c in Artifex Ghostscript before 10.04.0. Also affects ghostscript
- CVE-2023-38559 A buffer overflow flaw was found in base/gdevdevn.c:1973 in devn_pcx_write_rle() in… Also affects ghostscript
- CVE-2023-36664 Artifex Ghostscript before 10.01.2 mishandles permission validation for pipe devices… Also affects ghostscript
- CVE-2023-52722 An issue was discovered in Artifex Ghostscript before 10.03.1. Also affects ghostscript