
Sonnet 4.6이 작성한 CVE-2026-6664의 작동 POC
이 저장소는 취약한 PgBouncer 버전에서 정수 오버플로우로 인해 발생하는 PgBouncer 충돌에 대한 로컬 개념 증명을 포함합니다. 포함된 Docker 설정은 PgBouncer 1.25.1을 빌드하고, PostgreSQL 백엔드를 시작하며, SCRAM-SHA-256 인증을 활성화하고, PgBouncer에 대해 poc.py를 실행합니다.
이는 통제된 랩 테스트 용도로만 사용됩니다. 소유하지 않거나 명시적 테스트 권한이 없는 시스템에서 실행하지 마십시오.
poc.py - Python 개념 증명 클라이언트.docker-compose.yml - 로컬 PostgreSQL, PgBouncer 및 PoC 실행 서비스.postgres/init.sql - 테스트 데이터베이스 사용자를 생성합니다.pgbouncer/Dockerfile - 취약한 PgBouncer 1.25.1을 빌드합니다.pgbouncer/pgbouncer.ini - SCRAM 인증을 사용하는 PgBouncer 구성.pgbouncer/gen_userlist.py - 결정론적 SCRAM 검증자를 생성합니다.poc.py를 실행하는 경우랩을 빌드하고 시작합니다:
docker compose up --build
컴포즈 파일은 다음을 시작합니다:
6432에 노출된 PgBouncer.서비스만 실행하고 수동으로 PoC를 실행하려면:
docker compose up --build postgres pgbouncer
python3 poc.py 127.0.0.1 6432
취약한 PgBouncer 프로세스가 잘못된 SASL 초기 응답을 만나면, 클라이언트는 연결 재설정 또는 PgBouncer에 연결할 수 없음을 보고해야 합니다. PoC는 이 조건을 확인하고 충돌이 확인되었는지 출력합니다.
랩 컨테이너를 중지하고 제거합니다:
docker compose down
PoC의 기본값은 다음과 같습니다:
127.0.0.16432testusertestdb사용자 지정 대상:
python3 poc.py <host> <port>