
POC funcional do CVE-2026-6664 escrita por Sonnet 4.6
Este repositório contém uma prova de conceito local para um crash no PgBouncer causado
por um estouro de inteiro em versões vulneráveis do PgBouncer. A configuração Docker
incluída constrói o PgBouncer 1.25.1, inicia um backend PostgreSQL, ativa a
autenticação SCRAM-SHA-256 e executa poc.py contra o PgBouncer.
Isto destina-se apenas a testes controlados em laboratório. Não execute isto contra sistemas que você não possui ou para os quais não tem permissão explícita para testar.
poc.py - Cliente de prova de conceito em Python.docker-compose.yml - Serviços locais de PostgreSQL, PgBouncer e executor do PoC.postgres/init.sql - Cria o usuário do banco de dados de teste.pgbouncer/Dockerfile - Constrói o PgBouncer 1.25.1 vulnerável.pgbouncer/pgbouncer.ini - Configuração do PgBouncer usando autenticação SCRAM.pgbouncer/gen_userlist.py - Gera um verificador SCRAM determinístico.poc.py manualmente a partir do hostConstrua e inicie o laboratório:
docker compose up --build
O arquivo compose inicia:
6432 do host.Para executar apenas os serviços e executar o PoC manualmente:
docker compose up --build postgres pgbouncer
python3 poc.py 127.0.0.1 6432
Quando o processo vulnerável do PgBouncer encontrar a resposta inicial SASL malformada, o cliente deve reportar uma conexão reiniciada ou o PgBouncer tornando-se inalcançável. O PoC verifica esta condição e imprime se o crash foi confirmado.
Pare e remova os contêineres do laboratório:
docker compose down
O PoC usa os seguintes valores padrão:
127.0.0.16432testusertestdbAlvo personalizado:
python3 poc.py <host> <porta>