
POC funcional de CVE-2026-6664 escrito por Sonnet 4.6
Este repositorio contiene una prueba de concepto local para una caída de PgBouncer causada
por un desbordamiento de enteros en versiones vulnerables de PgBouncer. La configuración Docker incluida
construye PgBouncer 1.25.1, inicia un backend PostgreSQL, habilita
la autenticación SCRAM-SHA-256 y ejecuta poc.py contra PgBouncer.
Esto está destinado únicamente a pruebas controladas de laboratorio. No ejecute esto contra sistemas que no posea o para los que no tenga permiso explícito de prueba.
poc.py - Cliente de prueba de concepto en Python.docker-compose.yml - Servicios locales de PostgreSQL, PgBouncer y ejecutor del PoC.postgres/init.sql - Crea el usuario de base de datos de prueba.pgbouncer/Dockerfile - Construye PgBouncer 1.25.1 vulnerable.pgbouncer/pgbouncer.inipgbouncer/gen_userlist.py - Genera un verificador SCRAM determinista.poc.py manualmente desde el hostConstruir e iniciar el laboratorio:
docker compose up --build
El archivo compose inicia:
6432.Para ejecutar solo los servicios y ejecutar el PoC manualmente:
docker compose up --build postgres pgbouncer
python3 poc.py 127.0.0.1 6432
Cuando el proceso vulnerable de PgBouncer recibe la respuesta inicial SASL malformada, el cliente debería reportar una conexión reiniciada o que PgBouncer se vuelve inalcanzable. El PoC verifica esta condición e imprime si la caída fue confirmada.
Detener y eliminar los contenedores del laboratorio:
docker compose down
El PoC utiliza por defecto:
127.0.0.16432testusertestdbDestino personalizado:
python3 poc.py <host> <port>