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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-44338-Lab — CVE-2026-44338 प्रमाणीकरण बाईपास को प्रदर्शित करने वाला Docker-आधारित लैब, जो PraisonAI के पुराने Flask API में है। इसमें स्थानीय सुरक्षा अनुसंधान के लिए कमजोर और पैच की गई सेवाओं के साथ PoC स्क्रिप्ट शामिल है। | Kitploit
उपकरण/GitHubGitHub/rootdirective-sec/cve-2026-44338-lab
भेद्यता विश्लेषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगप्रमाणीकरणलर्निंग और शिक्षालैब और अभ्यास
GitHubrootdirective-sec/cve-2026-44338-lab

CVE-2026-44338-Lab

CVE-2026-44338 प्रमाणीकरण बाईपास को प्रदर्शित करने वाला Docker-आधारित लैब, जो PraisonAI के पुराने Flask API में है। इसमें स्थानीय सुरक्षा अनुसंधान के लिए कमजोर और पैच की गई सेवाओं के साथ PoC स्क्रिप्ट शामिल है।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
3 महीने पहलेअभी तक समीक्षित नहीं

CVE-2026-44338 PraisonAI प्रमाणीकरण बाइपास लैब

PraisonAI के लीगेसी Flask API सर्वर में प्रमाणीकरण बाइपास (CVE-2026-44338) के लिए स्थानीय Docker लैब।

यह लैब लीगेसी API रूट्स पर बिना प्रमाणीकरण के पहुंच की स्थिति को प्रदर्शित करता है। यह जानबूझकर पूर्ण PraisonAI डिप्लॉयमेंट के बजाय एक सुरक्षित रूट-स्तरीय पुनरुत्पादन का उपयोग करता है, ताकि प्रूफ प्रमाणीकरण दोष पर केंद्रित रहे और वास्तविक एजेंट वर्कफ़्लो या बाहरी LLM कॉल को ट्रिगर न करे।

सारांश

CVE-2026-44338 PraisonAI संस्करण >= 2.5.6 और <= 4.6.33 को प्रभावित करता है।

कमजोर लीगेसी API सर्वर में, प्रमाणीकरण डिफ़ॉल्ट रूप से अक्षम था। परिणामस्वरूप, एक बिना प्रमाणीकरण वाला कॉलर जो API सर्वर तक पहुंच सकता था, बिना बियरर टोकन के /agents तक पहुंच सकता था और /chat वर्कफ़्लो रूट को ट्रिगर कर सकता था।

यह समस्या PraisonAI 4.6.34 में डिफ़ॉल्ट व्यवहार को बदलकर ठीक की गई, ताकि जब तक स्पष्ट रूप से अक्षम न किया जाए, प्रमाणीकरण आवश्यक हो।

मूल कारण

कमजोर संस्करण में, लीगेसी API सर्वर ने असुरक्षित प्रमाणीकरण डिफ़ॉल्ट का उपयोग किया:

root@kitploit:~
AUTH_ENABLED = False
AUTH_TOKEN = None

def check_auth():
    if not AUTH_ENABLED:
        return True

क्योंकि check_auth() ने True लौटाया जब प्रमाणीकरण अक्षम था, संरक्षित रूट खुले रह गए।

प्रभावित रूटों में शामिल थे:

  • GET /agents
  • POST /chat

पैच किए गए संस्करण में डिफ़ॉल्ट रुख बदल दिया गया है ताकि जब तक कॉन्फ़िगरेशन के माध्यम से स्पष्ट रूप से अक्षम न किया जाए, प्रमाणीकरण सक्षम रहे।

स्रोत-स्तरीय फिक्स विवरण

मुख्य समस्या कोई जटिल शोषण प्रिमिटिव नहीं थी। यह लीगेसी Flask API सर्वर में असुरक्षित डिफ़ॉल्ट से उत्पन्न हुई।

v4.6.33 में कमजोर व्यवहार

v4.6.33 में, प्रमाणीकरण डिफ़ॉल्ट रूप से अक्षम था:

root@kitploit:~
AUTH_ENABLED = False
AUTH_TOKEN = None

प्रमाणीकरण जांच तब खुली विफलता देती थी:

root@kitploit:~
def check_auth():
    if not AUTH_ENABLED:
        return True

इसका मतलब है कि जब भी प्रमाणीकरण अक्षम था, अनुरोध स्वीकार किया जाता था, भले ही कॉलर ने Authorization हेडर न भेजा हो।

कमजोर प्रवाह था:

root@kitploit:~
AUTH_ENABLED = False
        ↓
check_auth() returns True
        ↓
GET /agents की अनुमति है
POST /chat की अनुमति है
        ↓
बिना प्रमाणीकरण वाला कॉलर एजेंट मेटाडेटा तक पहुंच सकता है और वर्कफ़्लो ट्रिगर रूट तक पहुंच सकता है

संवेदनशील हिस्सा यह है कि /chat केवल एक स्थिति एंडपॉइंट नहीं था। यह एक उपयोगकर्ता संदेश स्वीकार करता था और फिर agents.yaml का उपयोग करके PraisonAI वर्कफ़्लो रनर को कॉल करता था।

v4.6.34 में फिक्स्ड व्यवहार

v4.6.34 में, डिफ़ॉल्ट व्यवहार बदल दिया गया ताकि जब तक ऑपरेटर स्पष्ट रूप से इसे अक्षम न करे, प्रमाणीकरण आवश्यक हो:

root@kitploit:~
AUTH_ENABLED = os.environ.get("PRAISONAI_API_AUTH", "enabled").strip().lower() != "disabled"
AUTH_TOKEN = os.environ.get("PRAISONAI_API_TOKEN") or None

पैच किए गए संस्करण में टोकन हैंडलिंग व्यवहार में भी सुधार किया गया है:

  • प्रमाणीकरण डिफ़ॉल्ट रूप से सक्षम है
  • प्रमाणीकरण अक्षम करने के लिए स्पष्ट कॉन्फ़िगरेशन विकल्प की आवश्यकता है
  • यदि प्रमाणीकरण सक्षम होने पर कोई टोकन प्रदान नहीं किया जाता है, तो सर्वर एक यादृच्छिक टोकन उत्पन्न करता है
  • टोकन तुलना secrets.compare_digest() का उपयोग करती है
  • API सर्वर अपने आप को सभी इंटरफेस पर उजागर करने के बजाय डिफ़ॉल्ट रूप से 127.0.0.1 पर बाइंड होता है

फिक्स्ड प्रवाह है:

root@kitploit:~
AUTH_ENABLED = डिफ़ॉल्ट रूप से True
        ↓
अनुरोध में एक मान्य Bearer टोकन शामिल होना चाहिए
        ↓
गुम या अमान्य टोकन 401 लौटाता है
        ↓
/agents और /chat अब बेनामी रूप से पहुंच योग्य नहीं हैं

यह लैब उस स्रोत-स्तरीय अंतर को दर्शाता है:

root@kitploit:~
vuln    -> प्रमाणीकरण डिफ़ॉल्ट रूप से अक्षम, बिना प्रमाणीकरण के अनुरोध 200 लौटाते हैं
patched -> प्रमाणीकरण डिफ़ॉल्ट रूप से आवश्यक, बिना प्रमाणीकरण के अनुरोध 401 लौटाते हैं

लैब डिज़ाइन

लैब में दो स्थानीय सेवाएं हैं:

सेवाURLव्यवहार
vulnhttp://127.0.0.1:8081कमजोर फेल-ओपन प्रमाणीकरण व्यवहार का पुनरुत्पादन करता है
patchedhttp://127.0.0.1:8082बियरर-टोकन प्रमाणीकरण की आवश्यकता है

दोनों सेवाएं केवल 127.0.0.1 से बंधी हैं।

/chat रूट वास्तविक PraisonAI वर्कफ़्लो के बजाय एक डमी रनर का उपयोग करता है। यह देखने योग्य प्रमाण प्रदान करता है कि बिना प्रमाणीकरण वाला अनुरोध बिना बाहरी दुष्प्रभावों के वर्कफ़्लो ट्रिगर पथ तक पहुंचता है।

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

root@kitploit:~
.
├── docker-compose.yml
├── vuln
│   ├── Dockerfile
│   └── start_server.py
├── patched
│   ├── Dockerfile
│   └── start_server.py
├── poc
│   └── poc.py
└── .gitignore
└── README.md

चलाएं

root@kitploit:~
docker compose up --build -d
python3 poc/poc.py

अपेक्षित परिणाम

कमजोर सेवा बिना प्रमाणीकरण के पहुंच की अनुमति देती है:

root@kitploit:~
=== vuln ===
[unauthenticated] GET /agents
status: 200

[unauthenticated] POST /chat
status: 200

verdict: LIKELY_VULNERABLE

पैच की गई सेवा बिना प्रमाणीकरण के पहुंच को रोकती है:

root@kitploit:~
=== patched ===
[unauthenticated] GET /agents
status: 401

[unauthenticated] POST /chat
status: 401

verdict: NOT_VULNERABLE_OR_PROTECTED

अंतिम अपेक्षित सारांश:

root@kitploit:~
vuln:    LIKELY_VULNERABLE
patched: NOT_VULNERABLE_OR_PROTECTED

मैन्युअल सत्यापन

कमजोर रूट जांचें:

root@kitploit:~
curl -i http://127.0.0.1:8081/agents

अपेक्षित कमजोर प्रतिक्रिया:

root@kitploit:~
HTTP/1.1 200 OK

पैच किए गए रूट की जांच करें:

root@kitploit:~
curl -i http://127.0.0.1:8082/agents

अपेक्षित पैच की गई प्रतिक्रिया:

root@kitploit:~
HTTP/1.1 401 UNAUTHORIZED

सर्वर लॉग को अंतर स्पष्ट रूप से दिखाना चाहिए:

root@kitploit:~
vuln:    "GET /agents HTTP/1.1" 200
patched: "GET /agents HTTP/1.1" 401

सफाई

root@kitploit:~
docker compose down -v

सुरक्षा नोट्स

यह लैब केवल स्थानीय सुरक्षा अनुसंधान के लिए है।

PoC निम्नलिखित नहीं करता है:

  • शेल कमांड निष्पादित करना
  • वास्तविक API कुंजियों का उपयोग करना
  • बाहरी LLM प्रदाताओं को कॉल करना
  • बाहरी नेटवर्क स्कैन करना
  • वास्तविक PraisonAI एजेंट वर्कफ़्लो ट्रिगर करना

संदर्भ

  • GitHub सलाहकार: GHSA-6rmh-7xcm-cpxj https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-6rmh-7xcm-cpxj

  • NVD: CVE-2026-44338 https://nvd.nist.gov/vuln/detail/CVE-2026-44338

  • OSV: GHSA-6rmh-7xcm-cpxj https://osv.dev/vulnerability/GHSA-6rmh-7xcm-cpxj

  • कमजोर स्रोत: PraisonAI v4.6.33 src/praisonai/api_server.py https://raw.githubusercontent.com/MervinPraison/PraisonAI/v4.6.33/src/praisonai/api_server.py

  • पैच किया गया स्रोत: PraisonAI v4.6.34 src/praisonai/api_server.py https://raw.githubusercontent.com/MervinPraison/PraisonAI/v4.6.34/src/praisonai/api_server.py

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