Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ghostscript-CVE-2023-43115 — 一篇带有示例的小文章,帮助理解CVE-2023-43115 | Kitploit
工具/GitHubGitHub/jostaub/ghostscript-cve-2023-43115
漏洞分析漏洞利用论文与研究学习与教育二进制利用
GitHubjostaub/ghostscript-cve-2023-43115

ghostscript-CVE-2023-43115

一篇带有示例的小文章,帮助理解CVE-2023-43115

查看仓库
8212年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ghostscript-CVE-2023-43115

一份简要说明及示例,用于帮助理解 CVE-2023-43115。

[!WARNING] 我主要是为自己理解这个问题并学习网络安全而写的。因此可能存在错误。

问题所在

为了使用 IJS 设备(改进的喷墨打印),Ghostscript 需要启动一个 IJS 服务器。这是通过使用 IjsServer 参数中指定的路径来实现的。IjsServer 参数可以配置为引用文件系统中的任何文件,然后 Ghostscript 会执行该指定文件。很明显,这可能会被滥用,例如你可以运行以下 Ghostscript 命令来输出 "Hello World"。

root@kitploit:~
❯ gs -sDEVICE=ijs -sIjsServer="bash -c 'echo Hello World>&2'"
GPL Ghostscript 9.55.0 (2021-09-27)
Copyright (C) 2021 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Hello World

本身来说,这并没有太大问题,因为该参数必须由用户提供。但是,也可以在 PostScript 脚本中设置此设备和 IJsServer 参数。 例如,参见 attack_example_*.ps(使用 gs FILENAME 执行)。这可能会允许攻击者在运行该脚本的机器上执行代码。但是,这个问题是已知的,并且已在官方文档中记录,可以通过将 LockSafetyParams 设置为 true 来阻止。

在启用 LockSafetyParams 的情况下利用此 CVE,攻击者需要能够修改 LockSafetyParams 的有效利用方式。但是,如果存在这样的利用方式,根据使用的版本,可能还存在许多其他潜在的攻击向量。

修复方法

修复的作者 Ken Sharp 称上述的 LockSafetyParams 安全解决方案是一种 hacky 方式,因为它是在 PostScript 中实现的,因此易受 PostScript 代码的攻击。这导致了过去的一些安全问题,使得该参数可能被覆盖(参见 CVE-2018-19475 分析)。修复方法将防止设置 IjsServer 路径的保护机制从 LockSafetyParams 更改为新的 -dSAFER 参数,该参数不受 PostScript 代码影响。

[!NOTE] 易受攻击版本 9.55.0 的文档已经说明要使用 -dSAFER 参数,这似乎是一个文档错误。

来源与延伸阅读

  • CVE-2023-43115
  • 修复提交
  • CVE-2018-19475 分析
  • IJS 文档
  • LockSafetyParams 文档
下载工具