Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/nimaarek/cve-2026-8932-poc
भेद्यता विश्लेषणशोषणक्रिप्टोग्राफीपेनिट्रेशन टेस्टिंगपेपर और शोधलर्निंग और शिक्षा
GitHubnimaarek/cve-2026-8932-poc

CVE-2026-8932-PoC

CVE-2026-8932 का प्रूफ-ऑफ-कॉन्सेप्ट, जो libcurl कनेक्शन पुनःउपयोग में अपूर्ण mTLS कॉन्फ़िगरेशन मिलान दोष है, जिसमें एक स्थानीय लैब सर्वर और C PoC शामिल है।

रिपॉजिटरी देखें
251 महीना पहलेअभी तक समीक्षित नहीं
वेबसाइट

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

सभी देखें →

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

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

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

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

CVE-2026-8932 PoC

CVE-2026-8932 का प्रूफ-ऑफ-कॉन्सेप्ट पुनरुत्पादन, जो libcurl कनेक्शन पुनःउपयोग में एक अपूर्ण mTLS कॉन्फ़िगरेशन मिलान समस्या है।

अवलोकन

CVE-2026-8932 libcurl के कनेक्शन पुनःउपयोग तर्क को प्रभावित करता है जब अनुरोधों के बीच mutual TLS (mTLS) कॉन्फ़िगरेशन बदलता है।

संवेदनशील स्थितियों के अंतर्गत, libcurl एक मौजूदा TLS कनेक्शन का पुनःउपयोग कर सकता है, भले ही एक mTLS-संबंधित कॉन्फ़िगरेशन विकल्प बदल गया हो और उसे उस कनेक्शन के पुनःउपयोग को रोकना चाहिए था।

यह PoC दो अनुरोधों के बीच private-key पासवर्ड बदलकर, जबकि समान client certificate और private key का उपयोग करते हुए, इस समस्या को प्रदर्शित करता है।

पहला अनुरोध सही पासवर्ड का उपयोग करता है:

correct-password

दूसरा अनुरोध जानबूझकर एक अमान्य पासवर्ड का उपयोग करता है:

WRONG-PASSWORD

यदि libcurl मौजूदा TLS कनेक्शन का गलत तरीके से पुनः उपयोग करता है, तो दूसरे अनुरोध के लिए किसी अन्य TLS हैंडशेक की आवश्यकता नहीं होती है। परिणामस्वरूप, नया TLS कनेक्शन स्थापित करने के लिए अमान्य निजी-कुंजी पासवर्ड की कभी आवश्यकता नहीं पड़ती है और अनुरोध सफल हो जाता है।

इसलिए PoC CVE-2026-8932 से जुड़ी कनेक्शन-पुनःउपयोग स्थिति को प्रदर्शित करता है।


भेद्यता विवरण

PropertyValue
CVECVE-2026-8932
Componentlibcurl
Vulnerability TypeIncomplete mTLS configuration matching
CWECWE-305 — Authentication Bypass by Primary Weakness
Affected AreaTLS connection reuse
ProtocolHTTPS / mTLS
Clientlibcurl API
curl CLINot affected
PoC ScopeLocal laboratory environment

यह भेद्यता एक लॉजिक/कॉन्फ़िगरेशन मिलान संबंधी समस्या है, न कि बफ़र ओवरफ़्लो या use-after-free जैसी पारंपरिक मेमोरी-सुरक्षा भेद्यता।


तकनीकी पृष्ठभूमि

libcurl कनेक्शन जानकारी बनाए रखता है और जब कोई अनुवर्ती अनुरोध कनेक्शन के कॉन्फ़िगरेशन के साथ संगत माना जाता है, तो वह मौजूदा कनेक्शन का पुनः उपयोग कर सकता है।

इसलिए TLS कनेक्शनों के लिए, पुनः उपयोग से पहले कनेक्शन कॉन्फ़िगरेशन की सावधानीपूर्वक तुलना की जानी चाहिए।

भेद्य कार्यान्वयन में कनेक्शन मिलान लॉजिक में सभी प्रासंगिक mTLS कॉन्फ़िगरेशन फ़ील्ड शामिल नहीं थे।

प्रभावित सेटिंग्स में शामिल हैं:

cert_type
key
key_type
key_passwd
key_blob

इस PoC द्वारा उपयोग की जाने वाली महत्वपूर्ण सेटिंग है:

key_passwd

The PoC सही पासवर्ड और एक एन्क्रिप्टेड क्लाइंट प्राइवेट की का उपयोग करके एक TLS कनेक्शन स्थापित करता है:

correct-password

फिर यह उसी प्रमाणपत्र और कुंजी का उपयोग करके एक और अनुरोध करता है लेकिन पासवर्ड को इसमें बदल देता है:

WRONG-PASSWORD

एक कमज़ोर कनेक्शन-मिलान कार्यान्वयन अभी भी मौजूदा कनेक्शन को पुनः प्रयोग योग्य मान सकता है।


PoC अवधारणा

परीक्षण में दो HTTP अनुरोध शामिल हैं।

अनुरोध A

पहला अनुरोध TLS कनेक्शन स्थापित करता है:

URL:
https://server.test:8443/A

Client certificate:
client.crt

Private key:
client.key

Key password:
correct-password

TLS कनेक्शन स्थायी रहता है क्योंकि सर्वर HTTP keep-alive का समर्थन करता है।

अनुरोध B

दूसरा अनुरोध उसी प्रमाणपत्र और निजी कुंजी का उपयोग करता है लेकिन कुंजी पासवर्ड बदल देता है:

URL:
https://server.test:8443/B

Client certificate:
client.crt

Private key:
client.key

Key password:
WRONG-PASSWORD

यदि libcurl एक नया TLS कनेक्शन बनाता है, तो गलत पासवर्ड के साथ एन्क्रिप्टेड निजी कुंजी लोड करना विफल होना चाहिए।

हालाँकि, यदि libcurl गलत तरीके से मौजूदा कनेक्शन का पुनः उपयोग करता है, तो किसी नए TLS हैंडशेक की आवश्यकता नहीं होती।

इसलिए अमान्य पासवर्ड HTTP अनुरोध को सफल होने से नहीं रोकता।


परीक्षण आर्किटेक्चर

प्रयोगशाला सेटअप में निम्नलिखित शामिल हैं:

                         localhost
                            |
                            v
                  +---------------------+
                  | Python mTLS Server  |
                  |   127.0.0.1:8443   |
                  +----------+----------+
                             |
                             | HTTPS / TLS 1.3
                             |
                    +--------+--------+
                    |                 |
                  /A                 /B
                    \                 /
                     \               /
                      v             v
                  Same TLS Connection
                         |
                         v
                     libcurl
                     PoC (C)

महत्वपूर्ण अवलोकन यह है कि /A और /B को एक ही TLS कनेक्शन पर आना चाहिए।


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

CVE-2026-8932-PoC/
├── README.md
├── LICENSE
├── .gitignore
│
├── certs/
│   └── .gitkeep
│
├── poc/
│   └── poc.c
│
├── server/
│   └── server.py
│
└── docs/
    ├── CVE-2026-8932-POC.jpg
    ├── CVE-2026-8932-server-POC.jpg
    ├── poc-output.txt
    └── server-output.txt

certs/ निर्देशिका को रिपॉज़िटरी में जानबूझकर खाली रखा गया है। प्रमाणपत्र और निजी कुंजियाँ स्थानीय रूप से उत्पन्न की जानी चाहिए।


पुनरुत्पादन

आवश्यकताएँ

PoC का परीक्षण निम्नलिखित वातावरण में किया गया था:

OS:
Debian GNU/Linux 13 (trixie)

Architecture:
x86_64

libcurl:
8.14.1

OpenSSL:
3.5.7

GCC:
14.2.0

पुनरुत्पादन के लिए उपयोग किया गया भेद्य libcurl इंस्टॉलेशन यह था:

libcurl/8.14.1

स्थापित संस्करण सत्यापित करें:

curl --version

और:

pkg-config --modversion libcurl

1. लैब निर्देशिका बनाएँ

mkdir -p ~/cve-2026-8932-lab/{certs,poc,server,docs}

cd ~/cve-2026-8932-lab

2. CA जनरेट करें

cd ~/cve-2026-8932-lab/certs

openssl genrsa -out ca.key 2048

openssl req -x509 -new -nodes \
  -key ca.key \
  -sha256 \
  -days 3650 \
  -subj "/CN=CVE-2026-8932-CA" \
  -out ca.crt

3. सर्वर प्रमाणपत्र जनरेट करें

सर्वर निजी कुंजी जनरेट करें:

openssl genrsa -out server.key 2048

CSR जनरेट करें:

openssl req -new \
  -key server.key \
  -subj "/CN=server.test" \
  -out server.csr

प्रमाणपत्र एक्सटेंशन बनाएँ:

printf "subjectAltName=DNS:server.test\nextendedKeyUsage=serverAuth\n" \
  > server.ext

प्रमाणपत्र को परीक्षण CA का उपयोग करके हस्ताक्षरित करें:

openssl x509 -req \
  -in server.csr \
  -CA ca.crt \
  -CAkey ca.key \
  -CAcreateserial \
  -out server.crt \
  -days 3650 \
  -sha256 \
  -extfile server.ext

4. क्लाइंट प्रमाणपत्र जनरेट करें

क्लाइंट निजी कुंजी जनरेट करें:

openssl genrsa -out client.key.tmp 2048

CSR जनरेट करें:

openssl req -new \
  -key client.key.tmp \
  -subj "/CN=Client-A" \
  -out client.csr

निजी कुंजी को एन्क्रिप्टेड PKCS#8 प्रारूप में बदलें:

openssl pkcs8 \
  -topk8 \
  -in client.key.tmp \
  -out client.key \
  -v2 aes-256-cbc \
  -passout pass:correct-password

परिणामी निजी कुंजी इसके साथ एन्क्रिप्ट की गई है:

correct-password

क्लाइंट प्रमाणपत्र एक्सटेंशन बनाएँ:

printf "extendedKeyUsage=clientAuth\n" \
  > client.ext

क्लाइंट प्रमाणपत्र पर हस्ताक्षर करें:

openssl x509 -req \
  -in client.csr \
  -CA ca.crt \
  -CAkey ca.key \
  -CAcreateserial \
  -out client.crt \
  -days 3650 \
  -sha256 \
  -extfile client.ext

इस बिंदु पर आवश्यक फ़ाइलें मौजूद होनी चाहिए:

certs/
├── ca.crt
├── ca.key
├── client.crt
├── client.key
├── server.crt
└── server.key

5. mTLS सर्वर प्रारंभ करें

सर्वर निर्देशिका में जाएँ:

cd ~/cve-2026-8932-lab/server

सर्वर प्रारंभ करें:

python3 server.py

सर्वर इस पर सुनता है:

0.0.0.0:8443

क्लाइंट प्रमाणपत्र प्रमाणीकरण आवश्यक है।

सर्वर HTTP/1.1 कनेक्शनों को भी सक्रिय रखता है ताकि libcurl TLS कनेक्शन का पुनः उपयोग कर सके।


6. PoC बनाएँ

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