Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2026-2005 — CVE-2026-2005 के लिए एक्सप्लॉइट, PostgreSQL के pgcrypto एक्सटेंशन में हीप ओवरफ्लो जो रिमोट कोड एक्ज़ीक्यूशन की ओर ले जाता है। इसमें PoC जनरेटर, Docker लैब, और विस्तृत तकनीकी राइटअप शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/dinosn/cve-2026-2005
भेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगडेटाबेस सुरक्षाबाइनरी शोषण
GitHubdinosn/cve-2026-2005

cve-2026-2005

CVE-2026-2005 के लिए एक्सप्लॉइट, PostgreSQL के pgcrypto एक्सटेंशन में हीप ओवरफ्लो जो रिमोट कोड एक्ज़ीक्यूशन की ओर ले जाता है। इसमें PoC जनरेटर, Docker लैब, और विस्तृत तकनीकी राइटअप शामिल हैं।

रिपॉजिटरी देखें
18284 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-2005 — PostgreSQL pgcrypto हीप ओवरफ्लो → RCE

PostgreSQL के pgcrypto एक्सटेंशन को लक्षित करने वाले एकल SQL क्वेरी के माध्यम से रिमोट कोड निष्पादन। यह भेद्यता pgp_parse_pubenc_sesskey() में एक हीप बफर ओवरफ्लो है जो PostgreSQL के आंतरिक MemoryContext आवंटक मेटाडेटा के भ्रष्टाचार की अनुमति देता है, जिससे postgres उपयोगकर्ता के रूप में मनमाना कोड निष्पादन प्राप्त होता है।

CVECVE-2026-2005
घटकcontrib/pgcrypto/pgp-pubdec.c
CWECWE-122 (हीप-आधारित बफर ओवरफ्लो)
CVSSv3.18.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
प्रभावितPostgreSQL 14.0–14.20, 15.0–15.15, 16.0–16.11, 17.0–17.7, 18.0–18.1
सुधारित14.21, 15.16, 16.12, 17.8, 18.2
प्रकट2026-02-12
फिक्स कमिट379695d3cc70d040b547d912ce4842090d917ece

शोषण का प्रमाण

लक्ष्य सत्यापन

शोषण निष्पादन

RCE प्रमाण

त्वरित प्रारंभ

root@kitploit:~
git clone https://github.com/dinosn/cve-2026-2005.git
cd cve-2026-2005/lab
docker compose up -d pg-exploit
# postgres को आरंभ करने के लिए ~5s प्रतीक्षा करें
python3 ../poc/exploit.py --run cve-2026-2005-pg-exploit

पूर्ण शोषण रन

मूल कारण

root@kitploit:~
// contrib/pgcrypto/pgp-pubdec.c — pgp_parse_pubenc_sesskey()
ctx->cipher_algo = *msg;
ctx->sess_key_len = msglen - 3;                       // हमलावर-नियंत्रित
memcpy(ctx->sess_key, msg + 1, ctx->sess_key_len);    // sess_key uint8[32] है

ctx->sess_key एक निश्चित 32-बाइट बफर है जो हीप-आवंटित PGP_Context संरचना में एम्बेडेड है। अत्यधिक बड़ी RSA-एन्क्रिप्टेड सत्र कुंजी वाला एक निर्मित PGP संदेश sess_key_len को ~200 बाइट्स तक बढ़ा देता है, जो आसन्न हीप आवंटन में ओवरफ्लो हो जाता है। फिक्स sess_key_len > PGP_MAX_KEY सीमा जांच जोड़ता है।

शोषण श्रृंखला

  1. हीप ओवरफ्लो — sess_key[32] से परे 148-बाइट ओवरफ्लो आसन्न MBuf आवंटन में नकली आवंटक मेटाडेटा लिखता है
  2. bzero छोड़ें — MBuf->data = NULL सेट करता है ताकि सफाई के दौरान explicit_bzero छोड़ दिया जाए
  3. नकली चंक हेडर — जाली hdrmask blockoffset=64 में डिकोड होता है, ब्लॉक पॉइंटर को हमलावर-नियंत्रित डेटा पर पुनर्निर्देशित करता है
  4. फ्रीलिस्ट लेखन — AllocSetFree चंक पता MC+16 (यानी MemoryContext->methods फ़ील्ड) पर लिखता है, vtable पॉइंटर को प्रतिस्थापित करता है
  5. त्रुटि वापसी — pgcrypto एक सामान्य त्रुटि लौटाता है (कोई क्रैश नहीं), PostgreSQL के त्रुटि हैंडलर को ट्रिगर करता है
  6. VTable अपहरण — MemoryContextDelete(MC) हमारे नकली vtable के माध्यम से methods->delete_context(MC) को कॉल करता है → system(MC)
  7. कमांड निष्पादन — system() MemoryContext संरचना को एक स्ट्रिंग के रूप में पढ़ता है: NodeTag 0x1D5 = "\xd5\x01\x00\x00" → /usr/local/bin/\xd5\x01 निष्पादित करता है

पूर्वापेक्षाएँ

  • प्रमाणित डेटाबेस पहुंच (कोई भी उपयोगकर्ता जिसके पास pgcrypto फ़ंक्शन पर EXECUTE है — डिफ़ॉल्ट रूप से PUBLIC को दिया गया)
  • pgcrypto एक्सटेंशन स्थापित (CREATE EXTENSION pgcrypto)
  • लक्ष्य-विशिष्ट पते (प्रति Docker छवि नियतात्मक; इस कंटेनर कॉन्फ़िगरेशन में कोई PIE ASLR नहीं)
  • ट्रिगर स्क्रिप्ट /usr/local/bin/\xd5\x01 पर पहले से रखी गई (Dockerfile.exploit में शामिल)

रिपॉजिटरी संरचना

root@kitploit:~
├── README.md
├── poc/
│   ├── exploit.py          # स्व-निहित शोषण जनरेटर + रनर
│   ├── gen_exploit_v7.py   # एनोटेटेड पेलोड बिल्डर
│   ├── gen_payload.py      # केवल-क्रैश PoC जनरेटर (सभी ओवरफ्लो आकार)
│   ├── poc_big.sql         # पूर्व-निर्मित क्रैश PoC (SIGSEGV)
│   └── poc_minimal.sql     # न्यूनतम 4-बाइट ओवरफ्लो PoC
├── lab/
│   ├── docker-compose.yml  # पूर्ण लैब: भेद्य, पैच्ड, डीबग, शोषण
│   ├── Dockerfile.exploit  # रिलीज़ बिल्ड + ट्रिगर स्क्रिप्ट (RCE लक्ष्य)
│   ├── Dockerfile.vuln     # स्टॉक भेद्य बिल्ड (क्रैश डेमो)
│   ├── Dockerfile.debug    # Cassert बिल्ड (अभिकथन डेमो)
│   ├── init.sql            # डेटाबेस आरंभीकरण
│   └── setup.sh            # लैब सेटअप सहायक
├── reports/
│   ├── RCE-CHAIN.md        # विस्तृत तकनीकी शोषण राइटअप
│   ├── REPORT.md           # भेद्यता विश्लेषण रिपोर्ट
│   └── TODO-FOR-RCE.md     # विकास लॉग (पूर्ण)
├── screenshots/
│   ├── 01-target-verification.png
│   ├── 02-exploit-fire.png
│   ├── 03-rce-proof.png
│   └── 04-full-run.png
└── src/                    # प्रासंगिक स्रोत स्निपेट

लैब बिल्ड

कंटेनरपोर्टउद्देश्य
pg-exploit5436RCE लक्ष्य (स्टॉक 17.7 + ट्रिगर स्क्रिप्ट)
pg-vuln5433क्रैश डेमो (स्टॉक 17.7, SIGSEGV)
pg-fixed5434पैच्ड बिल्ड (17.8, पेलोड अस्वीकार करता है)
pg-debug5435डीबग बिल्ड (स्रोत विशेषता के साथ cassert SIGABRT)
root@kitploit:~
# सभी कंटेनर प्रारंभ करें
cd lab && docker compose up -d

# क्रैश डेमो (स्टॉक बिल्ड पर SIGSEGV)
docker exec cve-2026-2005-pg-vuln psql -U postgres -d lab -f /tmp/poc_big.sql
docker logs cve-2026-2005-pg-vuln 2>&1 | grep "signal 11"

# पैच्ड बिल्ड (सुंदरता से अस्वीकार करता है)
docker exec cve-2026-2005-pg-fixed psql -U postgres -d lab -f /tmp/poc_big.sql
# ERROR: Public key too big

# डीबग बिल्ड (फ़ाइल:लाइन के साथ अभिकथन)
docker exec cve-2026-2005-pg-debug psql -U postgres -d lab -f /tmp/poc_big.sql
docker logs cve-2026-2005-pg-debug 2>&1 | grep "TRAP"

सीमाएँ

  • पता-निर्भर: शोषण postgres:17.7-bookworm Docker छवि के लिए विशिष्ट हार्डकोडेड हीप पते का उपयोग करता है। विभिन्न बिल्ड/वातावरणों के लिए पता पुन: अंशांकन की आवश्यकता होती है (GDB या जानकारी-रिसाव के माध्यम से)।
  • वार्मअप आवश्यक: शोषण क्वेरी से पहले उसी कनेक्शन में एकल pgcrypto कॉल (SELECT digest('x','md5')) हीप लेआउट को स्थिर करता है।
  • ट्रिगर स्क्रिप्ट: PATH में \xd5\x01 नामक एक बाइनरी की आवश्यकता होती है। Dockerfile इसे पहले से स्थापित करता है। वास्तविक-विश्व शोषण के लिए पूर्व लेखन पहुंच या एक अलग ROP/वन-गैजेट दृष्टिकोण की आवश्यकता होगी।
  • केवल रिलीज़ बिल्ड: --enable-cassert वाले डीबग बिल्ड फ्रीलिस्ट लेखन से पहले अभिकथन पर रुक जाते हैं।

समयरेखा

  • 2026-02-12: टीम Xint Code द्वारा भेद्यता प्रकट
  • 2026-02-13: फिक्स कमिट (379695d)
  • 2026-02-20: सुधारित संस्करण जारी (17.8, आदि)
  • 2026-05-05: RCE शोषण विकसित और लैब में सिद्ध

अस्वीकरण

यह शोषण केवल अधिकृत सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। केवल स्पष्ट प्राधिकरण के साथ नियंत्रित लैब वातावरण में उपयोग करें।

टूल डाउनलोड करें