
CVE-2026-6664 का कार्यशील POC, Sonnet 4.6 द्वारा लिखित
यह रिपॉजिटरी कमजोर PgBouncer संस्करणों में पूर्णांक अतिप्रवाह (integer overflow) के कारण होने वाले PgBouncer क्रैश के लिए एक स्थानीय प्रूफ ऑफ कॉन्सेप्ट (PoC) प्रदान करती है। शामिल 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>