
Sonnet 4.6によって作成されたCVE-2026-6664の動作するPoC
このリポジトリには、脆弱な PgBouncer バージョンで整数オーバーフローにより発生する PgBouncer クラッシュのローカル PoC が含まれています。同梱の Docker セットアップは PgBouncer 1.25.1 をビルドし、PostgreSQL バックエンドを起動して、SCRAM-SHA-256 認証を有効にし、PgBouncer に対して poc.py を実行します。
これは制御されたラボテストのみを目的としています。所有していないシステム、または明示的なテスト許可を得ていないシステムに対して実行しないでください。
poc.py - Python 製の PoC クライアント。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
compose ファイルは以下を起動します:
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>