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-2026-2005 — PoC para CVE-2026-2005 | Kitploit
Ferramentas/GitHubGitHub/var77/cve-2026-2005
Escalada de PrivilégiosForensia de MemóriaAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoSegurança de Banco de DadosExploração de Binários
GitHubvar77/cve-2026-2005

CVE-2026-2005

PoC para CVE-2026-2005

Ver Repositório
26515há 3 mesesRevisado pelo Kitploit

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-2026-2005 - Exploit de Estouro de Heap no PostgreSQL pgcrypto

Exploit PoC para um estouro de buffer baseado em heap na extensão pgcrypto do PostgreSQL durante o parsing da chave de sessão PGP, levando a leitura/escrita arbitrária de memória e escalada de privilégios para superusuário.

Para detalhes técnicos completos, consulte o aviso da Zeroday Cloud.

Demonstração

Demonstração do PoC

Uso

1. Compilar o PostgreSQL

Clone e compile o PostgreSQL a partir do commit vulnerável para que os offsets de símbolos do binário correspondam exatamente. O exploit resolve a base do ASLR comparando ponteiros vazados com offsets de símbolos ELF - builds ou versões diferentes terão offsets diferentes e falharão.

root@kitploit:~
git clone https://github.com/postgres/postgres.git
cd postgres
git checkout 4b324845ba5d24682b9b3708a769f00d160afbd7
./configure \
    --prefix="$HOME/projects/pg/pgsql" \
    --with-libxml \
    --with-libxslt \
    --enable-debug \
    --with-ssl=openssl
make -j$(nproc)
make install-world-bin

2. Instalar dependências Python

root@kitploit:~
pip install -r requirements.txt

3. Executar o exploit

root@kitploit:~
python poc.py \
    --binary "$HOME/projects/pg/pgsql/bin/postgres" \
    --dbname test-db \
    --host 127.0.0.1 \
    --port 5432 \
    --user test-user \
    --password secret \
    --cmd id

Opções

Fluxo do Exploit

O exploit prossegue em 7 etapas:

  1. Vazamento de ponteiro de heap - Uma mensagem PGP manipulada corrompe o cabeçalho do chunk malloc do buffer mdst. Quando o PostgreSQL chama pfree() no chunk corrompido, o alocador emite um erro contendo o endereço do ponteiro, vazando a localização no heap de mdst->data.

  2. Leitura arbitrária - Um segundo estouro sobrescreve mdst->data para apontar para (leaked_ptr - 0x10000). Após a descriptografia, mbuf_steal_data() retorna o conteúdo desse endereço como saída descriptografada, despejando memória do heap que pode conter ponteiros de código obsoletos.

  3. Varredura de ponteiros - O dump hexadecimal é varrido em busca de valores little-endian de 8 bytes que pareçam endereços de código (>= 0x500000000000) mas que não estejam na região do heap. Esses são ponteiros PIE (Executável Independente de Posição) candidatos.

  4. Votação da base PIE - Cada endereço candidato é testado contra offsets de símbolos ELF do binário postgres. Para cada par (addr - sym_offset) em que o offset de página corresponde, um voto é lançado. Candidatos com 10+ votos são mantidos; a menor base (o PIE é o segmento ELF mapeado mais baixo), ordenada por votos, é a principal candidata.

  5. Validação da base PIE - Usando a primitiva de leitura arbitrária, o exploit lê em e o compara com o OID conhecido da sessão. Uma correspondência confirma a base PIE.

Requisitos

  • Python 3.10+
  • psycopg2-binary, pwntools, pycryptodome (pip install -r requirements.txt)
  • PostgreSQL compilado a partir do commit vulnerável (4b324845) com pgcrypto habilitado

Aviso Legal

Esta Prova de Conceito destina-se apenas a fins educacionais e de pesquisa defensiva. Use somente contra sistemas que você possui ou para os quais tenha autorização explícita para testar.

Referências

  • CVE-2026-2005: Estouro de Inteiro no PostgreSQL pgcrypto para RCE
Baixar ferramenta
ArgumentoPadrãoDescrição
--binary(binário do postgres)Caminho para o binário postgres para extração de símbolos
--dbnamepostgresNome do banco de dados alvo
--hostlocalhostHost do PostgreSQL
--port5432Porta do PostgreSQL
--userpostgresUsuário do banco de dados
--password(vazio)Senha do banco de dados
--cmdwhoamiComando do SO a executar após a escalada de privilégios
--gdb(flag)Anexa o GDB via tmux no ponto do estouro
CurrentUserId
(candidate_base + current_user_offset)
  • Escrita arbitrária - O estouro corrompe os cabeçalhos MBuf de msrc e mdst. msrc->data/read_pos forjados apontam para um pacote sym-encrypted embutido contendo o OID criptografado do superusuário (10). mdst->data forjado aponta para CurrentUserId - 4 (o -4 compensa o SET_VARSIZE em pgp-pgsql.c:533, que grava o comprimento da saída nos primeiros 4 bytes).

  • Escalada de privilégios - Com CurrentUserId sobrescrito para 10 (superusuário bootstrap), COPY FROM PROGRAM executa o comando do SO especificado como o usuário postgres do sistema.