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
php-exploit_cve-2022-31630 — Prova de conceito de exploit para CVE-2022-31630, uma vulnerabilidade de leitura fora dos limites na extensão GD do PHP. Demonstra falha e divulgação de memória em versões afetadas do PHP. Inclui laboratório baseado em Docker para testes seguros. | Kitploit
Ferramentas/GitHubGitHub/sepkascurty-cpu/php-exploit_cve-2022-31630
Análise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubsepkascurty-cpu/php-exploit_cve-2022-31630

php-exploit_cve-2022-31630

Prova de conceito de exploit para CVE-2022-31630, uma vulnerabilidade de leitura fora dos limites na extensão GD do PHP. Demonstra falha e divulgação de memória em versões afetadas do PHP. Inclui laboratório baseado em Docker para testes seguros.

Ver Repositório
14há 5 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-31630 – Exploit de Prova de Conceito

Aviso: Este código foi criado apenas para fins educacionais e testes em ambiente de laboratório isolado. O uso em outros sistemas sem autorização é ilegal e irresponsável.


📌 Descrição

CVE-2022-31630 é uma vulnerabilidade de leitura fora dos limites (Out-of-Bounds – OOB) na extensão GD do PHP, especificamente na função imageloadfont(). Essa vulnerabilidade permite que um atacante que consiga controlar o arquivo de fonte carregado por uma aplicação PHP leia dados fora dos limites do buffer alocado. Possíveis impactos:

· Denial of Service (crash) – a aplicação para de responder. · Information Disclosure – dados sensíveis da memória podem ser lidos (por exemplo, chaves, tokens ou outros fragmentos de dados).

Versões do PHP Afetadas

· PHP 7.4.x anteriores a 7.4.33 · PHP 8.0.x anteriores a 8.0.25 · PHP 8.1.x anteriores a 8.1.12

PHP 7.4.33 é a primeira versão que recebeu o patch para este CVE. Este repositório fornece uma Prova de Conceito (PoC) para demonstrar a diferença de comportamento entre a versão vulnerável (≤ 7.4.32) e a versão corrigida (≥ 7.4.33).


🔍 Detalhes Técnicos

A vulnerabilidade tem origem na falta de validação de entrada ao ler arquivos de fonte GD (formato .gdf). O arquivo de fonte possui a seguinte estrutura de cabeçalho:

Offset de bytesTamanho (bytes)Descrição
02Magic number (0x01BE)
22Número de caracteres (nchars)
42Largura do caractere (width) (em pixels)
62Altura do caractere (height)
82Número de bytes por caractere (char_offset)

Se o valor de width for definido como muito grande (por exemplo, 65535), o cálculo do tamanho do buffer para armazenar o bitmap do caractere fica incorreto. Como resultado, o buffer alocado é pequeno demais. Quando a função imagechar() lê caracteres dessa fonte, ela acessa memória fora dos limites do buffer – é isso que é chamado de Out-of-Bounds Read.


🧪 Requisitos de Teste

· Docker (para executar o ambiente isolado) · PHP versão 7.4.32 ou 7.4.33 (você pode usar as imagens Docker php:7.4.32-cli / php:7.4.33-cli) · Extensão GD (será instalada dentro do container)


🚀 Como Usar a PoC

  1. Clone este repositório
root@kitploit:~
git clone https://github.com/sepkascurty-cpu/php-exploit_cve-2022-31630.git
cd exploit_cve-2022-31630
  1. Execute o container com a versão desejada do PHP

Para testar a versão vulnerável (7.4.32):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.32-cli bash

Para testar a versão corrigida (7.4.33):

root@kitploit:~
docker run -it --rm -v $(pwd):/app php:7.4.33-cli bash
  1. Dentro do container, instale a extensão GD
root@kitploit:~
cd /app
apt-get update
apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev
docker-php-ext-configure gd --with-freetype --with-jpeg
docker-php-ext-install gd
  1. Execute o exploit
root@kitploit:~
php exploit_cve-2022-31630.php

📊 Exemplo de Saída

Versão do PHPResultado Esperado
7.4.32 (vulnerável)O programa trava com Segmentation Fault ou ocorre vazamento de memória (dados fictícios da memória são visíveis).
7.4.33 (corrigida)Execução termina normalmente, o arquivo de imagem output.png é salvo, sem crash.

🛡️ Mitigação

· Atualize o PHP para a versão mais recente que contenha o patch: · PHP 7.4.33 ou mais recente · PHP 8.0.25 ou mais recente · PHP 8.1.12 ou mais recente · Se não for possível atualizar imediatamente, desative a extensão GD ou a função imageloadfont() se não for realmente necessária. · Aplique o princípio do menor privilégio (least privilege) na aplicação para minimizar o impacto caso ocorra vazamento de memória.


📚 Referências

· CVE-2022-31630 no NVD · Commit do patch no php-src · Anúncios de lançamento do PHP


⚠️ Aviso Legal

Este repositório é fornecido para fins educacionais e de pesquisa em segurança. O autor não se responsabiliza pelo uso indevido deste código. Certifique-se de testar apenas em ambientes que você possui ou para os quais tenha obtido autorização por escrito.


Feito para a comunidade de segurança cibernética da Indonésia.

Baixar ferramenta