Skip to main content

Artifex Ghostscript CVE-2026-103226

| EUVDEUVD-2026-89962 LOW
Stack-based Buffer Overflow (CWE-121)
2026-09-30 VulDB GHSA-f9vm-qh24-w7rf
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious Type1 font/PDF
  2. Delivery
    Deliver file to victim or conversion service
  3. Exploit
    Ghostscript pdfwrite parses charstrings
  4. Execution
    Overflow stack in type1_callsubr
  5. Impact
    Crash or bounded memory corruption

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that a Ghostscript instance process an attacker-controlled document/font through the pdfwrite (vector output) device path that invokes Type1 charstring interpretation - for example a server-side PDF/PostScript conversion service or a user opening/converting a crafted file. The limiting factor is the passive user interaction (UI:P): the victim or an automated pipeline must render the malicious input; there is no purely self-propagating remote trigger. No authentication is required (PR:N). Impact is bounded (partial per SSVC / Low across VC/VI/VA), so realistic outcomes skew toward denial of service or limited corruption rather than guaranteed code execution. Only Ghostscript versions up to 10.09.0 using the affected pdfwrite code path are impacted.

Impact

This is a memory-safety flaw (CWE-121 stack-based buffer overflow) in Ghostscript's pdfwrite device, specifically the Type1 charstring subroutine handler (type1_callsubr in devices/vector/gdevpsfx.c). The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L, base 5.3) describes network-reachable, low-complexity, unauthenticated exploitation but requires passive user/victim interaction (UI:P) - i.e., a target must process an attacker-supplied file - and rates all three impacts as only Low/partial. That partial technical impact is consistent with a stack overflow in a font-parsing loop most plausibly yielding a crash/DoS or bounded corruption rather than reliable arbitrary code execution. The signals are mildly conflicting: a public exploit is available (VulDB, with an attachment on Ghostscript's Bugzilla #709672) and the CVSS carries E:P, yet SSVC scores Exploitation=none, Automatable=no, Technical Impact=partial, and there is no CISA KEV listing and no EPSS value provided. Net read: a genuine, patch-worthy bug in very widely deployed software, but its real-world priority is moderate - the requirement to induce a victim to render a crafted font/PDF (UI:P) plus the bounded impact keep it below a drop-everything emergency. The exploit's public availability is the main reason to patch promptly rather than defer.

Exploit ScenarioDerived

An attacker crafts a malicious PostScript/PDF or Type1 font whose charstream triggers an out-of-bounds subroutine index in type1_callsubr, then delivers it to a victim or a server-side conversion pipeline (e.g., a print/PDF-generation service using Ghostscript's pdfwrite device). When the file is processed the stack buffer overflows, crashing the interpreter or corrupting memory. A public proof-of-concept exists as an attachment on the Ghostscript Bugzilla report, lowering the barrier to reproduction.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 30, 2026

Stack-based buffer overflow in Artifex Ghostscript up to 10.09.0 within the pdfwrite (vector output) device, reachable through Type1 charstring subroutine handling in devices/vector/gdevpsfx.c (type1_callsubr). Attackers can trigger the overflow remotely by supplying a crafted document/font that is processed through the pdfwrite path, unauthenticated but requiring the victim or an automated conversion pipeline to render the malicious input; publicly available exploit code exists, so exposure should be treated as urgent for any service or workstation that converts untrusted PostScript/PDF content. CVSS 4.0 base is 5.3 (E:P) and the independent assessment scores it CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L, with bounded impact that realistically skews toward denial of service or limited memory corruption rather than guaranteed code execution; EPSS, KEV and SSVC provide no signal of active exploitation at time of analysis.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - the maintainers implemented the fix by applying the defined bounds-checking macro within the font parsing loop instead of inside type1_callsubr (see https://bugs.ghostscript.com/show_bug.cgi?id=709672), so build or obtain a Ghostscript revision that contains this change rather than assuming any specific version number, and track https://artifex.com/ plus the VulDB/advisory pages (https://vuldb.com/vuln/411906, https://vuldb.com/cve/CVE-2026-103226) for the vendor-released patched build. Until a patched package is deployed, reduce exposure by disabling or avoiding the pdfwrite vector-output device for untrusted input - for example by restricting the allowed output devices in server-side conversion wrappers, since pure rasterization (e.g. png/ppm/display paths) does not traverse the vulnerable charstring-to-pdfwrite path; this trade-off removes PDF/PostScript output capability but keeps rendering workflows functional. Additionally, run Ghostscript conversions inside a sandbox with -dSAFER plus an OS-level confinement (seccomp, container, or a dedicated low-privilege account), apply CPU/memory limits so a stack overflow degrades into a crash rather than a persistent compromise, and consider routing untrusted font/document conversion through an alternative engine or an isolated disposable worker; these controls reduce, but do not eliminate, the risk of memory corruption. Because the exploit is publicly available, prioritize patching or isolating any pipeline that processes attacker-supplied PostScript/PDF through pdfwrite.

Affected VersionsENISA

ghostscript 10.09

Affected Packages

euvd ghostscript no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Ghostscript is the widely deployed PostScript/PDF interpreter and rendering engine used directly as the gs command-line tool and embedded by CUPS, ImageMagick, LibreOffice, language bindings and server-side document conversion services. The flaw is a CWE-121 stack-based buffer overflow in the pdfwrite device path (devices/vector/gdevpsfx.c), specifically the Type1 charstring subroutine call handler type1_callsubr. Type 1 fonts encode glyph outlines as charstrings containing subroutines invoked via the callsubr/return operators; when a crafted font pushes subroutine indices or nesting that the handler does not bound, the resulting stack state overruns a fixed-size stack buffer. Per the upstream discussion (Ghostscript bug 709672), the developer chose to fix the issue by using the defined bounds-checking macro inside the font parsing loop rather than inside callsubr itself, which indicates the missing/incorrect length check during charstring/font parsing is the root cause. The upstream CPE (cpe:2.3:a:artifex:ghostscript:*:*:*:*:*:*:*:*) is a wildcard, so the practical affected set is every Ghostscript build through 10.09.0 that enables the pdfwrite device and interprets Type 1 charstrings - reached whenever a conversion to PDF/PS output (rather than pure rasterization) is performed.

Know when Ghostscript gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 6.3 MEDIUM

Network-reachable, low-complexity, no auth, but requires a victim to process a crafted file (UI:R); stack overflow yields only partial/Low confidentiality, integrity, and availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Sep 30, 2026 - 15:37 NVD
MEDIUM LOW
CVSS changed
Sep 30, 2026 - 15:37 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Sep 30, 2026 - 14:15 cve.org
MEDIUM 5.3

DescriptionCVE.org

A vulnerability was identified in Artifex Ghostscript up to 10.09.0. Affected is the function type1_callsubr of the file devices/vector/gdevpsfx.c of the component Pdfwrite. The manipulation leads to stack-based buffer overflow. Remote exploitation of the attack is possible. The exploit is publicly available and might be used. It is suggested to install a patch to address this issue. A solution was implemented: "I've chosen to fix this slightly differently by using the defined macro in the font parsing loop rather than in the callsubr function, because this better matches the pattern of 'normal' usage."

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
High
Ghostscript is a near-ubiquitous PostScript/PDF engine behind many print and document pipelines
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.

CVE-2017-8291 HIGH POC
7.8 Apr 27

Artifex Ghostscript through 2017-04-26 allows -dSAFER bypass and remote command execution via .rsdparams type confusion

CVE-2016-7976 HIGH POC
8.8 Aug 07

The PS Interpreter in Ghostscript 9.18 and 9.20 allows remote attackers to execute arbitrary code via crafted userparams

CVE-2018-16509 HIGH POC
7.8 Sep 05

An issue was discovered in Artifex Ghostscript before 9.24. Rated high severity (CVSS 7.8), this vulnerability is no aut

CVE-2012-4405 MEDIUM
6.8 Sep 18

Multiple integer underflows in the icmLut_allocate function in International Color Consortium (ICC) Format library (iccl

CVE-2023-28879 CRITICAL POC
9.8 Mar 31

In Artifex Ghostscript through 10.01.0, there is a buffer overflow leading to potential corruption of data internal to t

CVE-2018-18284 HIGH POC
8.6 Oct 19

Artifex Ghostscript 9.25 and earlier allows attackers to bypass a sandbox protection mechanism via vectors involving the

CVE-2018-17961 HIGH POC
8.6 Oct 15

Artifex Ghostscript 9.25 and earlier allows attackers to bypass a sandbox protection mechanism via vectors involving err

CVE-2016-10317 HIGH POC
7.8 Apr 03

The fill_threshhold_buffer function in base/gxht_thresh.c in Artifex Software, Inc. Rated high severity (CVSS 7.8), this

CVE-2017-9611 HIGH POC
7.8 Jul 26

The Ins_MIRP function in base/ttinterp.c in Artifex Ghostscript GhostXPS 9.21 allows remote attackers to cause a denial

CVE-2017-9835 HIGH POC
7.8 Jul 26

The gs_alloc_ref_array function in psi/ialloc.c in Artifex Ghostscript 9.21 allows remote attackers to cause a denial of

CVE-2017-7948 HIGH POC
7.8 Apr 19

Integer overflow in the mark_curve function in Artifex Ghostscript 9.21 allows remote attackers to cause a denial of ser

CVE-2026-101258 HIGH POC
7.8 Oct 06

Ghostscript can execute arbitrary shell commands with the privileges of its process when it renders a crafted PostScript

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy