Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ghostscript-CVE-2023-43115 — Un piccolo articolo con esempi per comprendere CVE-2023-43115 | Kitploit
Strumenti/GitHubGitHub/jostaub/ghostscript-cve-2023-43115
Analisi delle VulnerabilitàExploitPaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubjostaub/ghostscript-cve-2023-43115

ghostscript-CVE-2023-43115

Un piccolo articolo con esempi per comprendere CVE-2023-43115

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
822 anni faNon ancora revisionato

ghostscript-CVE-2023-43115

Un breve articolo con esempi per aiutare a comprendere CVE-2023-43115.

[!WARNING] Ho scritto questo principalmente per me stesso per capire il problema e per imparare la cybersecurity. Quindi potrebbero esserci errori.

Il problema

Per utilizzare il dispositivo IJS (Improved Inkjet Printing), Ghostscript deve avviare un server IJS. Questo viene ottenuto utilizzando il percorso specificato nel parametro IjsServer. Il parametro IjsServer può essere configurato per fare riferimento a qualsiasi file desiderato all'interno del file system, e Ghostscript successivamente esegue quel file designato. Qui è facile vedere come questo potrebbe potenzialmente essere abusato, ad esempio puoi eseguire il seguente comando ghostscript per stampare 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

Di per sé questo non è così problematico perché questo parametro deve essere fornito dall'utente. Tuttavia è anche possibile impostare questo dispositivo e il parametro IJsServer all'interno di uno script postscript. Vedi ad esempio attack_example_*.ps (eseguire con gs FILENAME). Questo a sua volta potrebbe permettere a un attaccante di eseguire codice sulla macchina che esegue questo script. Ma questo problema è noto e ufficialmente documentato e potrebbe essere prevenuto impostando LockSafetyParams a true.

Per sfruttare questa CVE mentre LockSafetyParams è abilitato, un attaccante avrebbe bisogno di un exploit funzionante per cambiare LockSafetyParams. Tuttavia, se un tale exploit è disponibile, potrebbero esserci una serie di altri possibili vettori di attacco a seconda della versione utilizzata.

La correzione

L'autore della correzione Ken Sharp ha definito la suddetta soluzione di sicurezza LockSafetyParams come approssimativa perché è implementata in postscript ed è quindi vulnerabile al codice postscript. Questo ha portato a diversi problemi di sicurezza in passato in cui era possibile sovrascrivere questo parametro (per un esempio vedere CVE-2018-19475 writeup ). La correzione cambia il meccanismo di protezione che impedisce di impostare il percorso IjsServer da LockSaftyParams al nuovo parametro -dSAFER, che non può essere influenzato dal codice postscript.

[!NOTE] La Documentazione della versione vulnerabile 9.55.0 afferma già di utilizzare il parametro -dSAFER, il che sembra essere un errore di documentazione.

Fonti e ulteriori letture

  • CVE-2023-43115
  • Commit di correzione
  • CVE-2018-19475 writeup
  • IJS DOC
  • LockSaftyParams DOC
Scarica lo strumento