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_lab — Lab Docker autossuficiente para praticar a exploração da CVE-2026-2005, um estouro de buffer no heap na extensão pgcrypto do PostgreSQL, permitindo escalonamento de privilégios e execução de código no contêiner. | Kitploit
Ferramentas/GitHubGitHub/stvm8/cve-2026-2005_lab
Análise de VulnerabilidadesExploraçãoCTFAprendizado e EducaçãoSegurança de Banco de DadosExploração de BináriosLabs e Prática
GitHubstvm8/cve-2026-2005_lab

CVE-2026-2005_lab

Lab Docker autossuficiente para praticar a exploração da CVE-2026-2005, um estouro de buffer no heap na extensão pgcrypto do PostgreSQL, permitindo escalonamento de privilégios e execução de código no contêiner.

Ver Repositório
8há 4 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-2026-2005 — Laboratório de Heap Overflow no pgcrypto do PostgreSQL

Um laboratório Docker autossuficiente para praticar a exploração da CVE-2026-2005, um estouro de buffer no heap na extensão pgcrypto do PostgreSQL que permite execução remota de código sem privilégios de superusuário.

Versões afetadas: PostgreSQL ≤ 17.7 / 16.11 / 15.15 / 14.20 / 18.1
Corrigido em: 18.2, 17.8, 16.12, 15.16, 14.21 (lançado em 2026-02-12)


Configuração

Pré-requisitos: Docker, Docker Compose

root@kitploit:~
git clone <this-repo>
cd CVE-2026-2005
docker compose up -d

O PostgreSQL estará escutando em 127.0.0.1:5433.


Seu Ponto de Partida

Você obteve as credenciais do banco de dados a partir de um arquivo de configuração de aplicação:

ParâmetroValor
Host127.0.0.1
Porta5433
Bancotargetdb
Usuáriopentester
Senhapentester123

Conecte-se para confirmar o acesso:

root@kitploit:~
psql -h 127.0.0.1 -p 5433 -U pentester -d targetdb

A conta possui privilégio CREATE no schema public. Ela não é um superusuário.


Objetivos

Capture ambas as flags para concluir o laboratório.

Flag 1 — Escalação de privilégio no banco de dados

root@kitploit:~
SELECT * FROM flag_db;
-- Somente legível após escalar para superusuário dentro da sessão do banco

Flag 2 — Execução de código no contêiner

root@kitploit:~
/var/lib/postgresql/flag.txt
-- Somente legível após executar comandos como o usuário postgres do SO dentro do contêiner

Nota de escopo: COPY TO PROGRAM executa dentro do contêiner Docker, não no host. O principal impacto no mundo real é o acesso total de leitura ao banco de dados (todas as tabelas, todos os bancos). Alcançar o host Docker requer uma técnica separada de escape de contêiner.


Contexto da Vulnerabilidade

A falha está em pgp_parse_pubenc_sesskey() dentro de pgcrypto/pgp-pubenc.c.

Ao descriptografar um pacote de chave de sessão criptografado com chave pública, a função deriva o comprimento da chave de sessão como msglen - 3 a partir de um payload RSA/ElGamal controlado pelo atacante e o copia para um buffer fixo de 32 bytes (PGP_MAX_KEY) sem validação de limites. Um atacante pode escrever centenas de bytes além do limite do buffer.

A exploração ocorre em três etapas:

  1. Vazamento de informações — o estouro expõe metadados adjacentes do heap, vazando o endereço base do PIE e endereços do heap
  2. Escrita arbitrária — corrompe a struct dst para sobrescrever CurrentUserId em .data com 10 (BOOTSTRAP_SUPERUSERID)
  3. RCE no contêiner — com privilégios de superusuário, COPY (SELECT '') TO PROGRAM '<cmd>' executa comandos do SO como o usuário postgres dentro do contêiner. Em uma implantação real sem Docker, isso significa acesso em nível de SO no host do banco de dados.

Como o layout do ASLR é idêntico em todas as conexões ao mesmo processo postmaster, os endereços vazados em uma conexão permanecem válidos na próxima.


Referências Úteis

  • NVD: CVE-2026-2005
  • Artigo técnico: https://www.zeroday.cloud/blog/postgres-xint
  • Código-fonte do pgcrypto do PostgreSQL: pgcrypto/pgp-pubenc.c
  • Resolução de símbolos: objdump -t $(which postgres) | grep CurrentUserId

Encerramento

root@kitploit:~
docker compose down -v

Legal

Este laboratório é exclusivamente para pesquisa de segurança autorizada e fins educacionais. Execute-o apenas em sistemas que você possui ou para os quais tenha permissão explícita para testar.

Baixar ferramenta