Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ghostscript-CVE-2023-43115 — Un pequeño informe con ejemplos para entender CVE-2023-43115 | Kitploit
Herramientas/GitHubGitHub/jostaub/ghostscript-cve-2023-43115
Análisis de VulnerabilidadesExplotaciónPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios
GitHubjostaub/ghostscript-cve-2023-43115

ghostscript-CVE-2023-43115

Un pequeño informe con ejemplos para entender CVE-2023-43115

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
82hace 2 añosAún no revisado

ghostscript-CVE-2023-43115

Una pequeña guía con ejemplos para ayudar a entender CVE-2023-43115.

[!WARNING] Escribí esto principalmente para mí mismo para entender el problema y aprender sobre ciberseguridad. Por lo que puede haber errores.

El problema

Para utilizar el dispositivo IJS (Improved Inkjet Printing), Ghostscript debe iniciar un servidor IJS. Esto se logra usando la ruta especificada en el parámetro IjsServer. El parámetro IjsServer puede configurarse para hacer referencia a cualquier archivo deseado dentro del sistema de archivos, y Ghostscript posteriormente ejecuta ese archivo designado. Aquí es fácil ver cómo esto podría ser mal utilizado, p. ej., se podría ejecutar el siguiente comando de ghostscript para imprimir 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

En sí mismo esto no es tan problemático, ya que el usuario debe proporcionar este parámetro. Sin embargo, también es posible configurar este dispositivo y el parámetro IJsServer dentro de un script de postscript. Véase, por ejemplo, attack_example_*.ps (ejecutar con gs FILENAME). Esto, a su vez, podría permitir a un atacante ejecutar código en la máquina que ejecuta este script. Pero este problema es conocido y está oficialmente documentado y podría ser evitado estableciendo LockSafetyParams como verdadero.

Para aprovechar este CVE mientras LockSafetyParams está habilitado, un atacante necesitaría un exploit funcional para cambiar LockSafetyParams. Sin embargo, si tal exploit está disponible, podría haber otros posibles vectores de ataque dependiendo de la versión utilizada.

La corrección

El autor de la corrección, Ken Sharp, calificó la mencionada solución de seguridad LockSafetyParams como hacky porque está implementada en postscript y, por lo tanto, es vulnerable al código postscript. Esto condujo a varios problemas de seguridad en el pasado en los que era posible sobrescribir este parámetro (para un ejemplo, véase el informe sobre CVE-2018-19475 ). La corrección cambia el mecanismo de protección que evita establecer la ruta de IjsServer de LockSaftyParams al nuevo parámetro -dSAFER, que no puede ser afectado por código postscript.

[!NOTE] La documentación de la versión vulnerable 9.55.0 ya indica usar el parámetro -dSAFER, lo que parece ser un error de documentación.

Fuentes y lecturas adicionales

  • CVE-2023-43115
  • Commit de la corrección
  • Análisis de CVE-2018-19475
  • Documentación de IJS
  • Documentación de LockSaftyParams
Descargar herramienta