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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/thefizzyfish/cve-2025-4138_tarfile_filter_bypass
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणCTFपेनिट्रेशन टेस्टिंग
GitHubthefizzyfish/cve-2025-4138_tarfile_filter_bypass

CVE-2025-4138_tarfile_filter_bypass

CVE-2025-4138 - Python मनमाना फ़ाइल लेखन निष्कर्षण निर्देशिका के बाहर

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

सभी देखें →

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

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

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

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

CVE-2025-4138 — Python tarfile filter="data" बाइपास

निष्कर्षण निर्देशिका के बाहर PATH_MAX सिमलिंक श्रृंखला के माध्यम से मनमाना फ़ाइल लेखन।

प्रभावित संस्करण

  • Python 3.12.0 – 3.12.10
  • Python 3.13.0 – 3.13.3
  • 3.12.11 / 3.13.4 में ठीक किया गया

श्रेय:

रिपोर्टर: Caleb Brown (Google)

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

Python का tarfile डेटा फ़िल्टर os.path.realpath() का उपयोग करके सिमलिंक लक्ष्यों को मान्य करता है। जब हल किया गया पथ PATH_MAX (Linux पर 4096 बाइट्स) से अधिक हो जाता है, तो realpath() चुपचाप हल करना बंद कर देता है और शेष घटकों — ../ सहित — को शाब्दिक स्ट्रिंग के रूप में जोड़ देता है। फ़िल्टर एक सुरक्षित पथ देखता है; कर्नेल वास्तविक ट्रैवर्सल का अनुसरण करता है।

एक्सप्लॉइट चार चरणों वाला एक tar बनाता है:

  1. सिमलिंक श्रृंखला — लंबी निर्देशिकाओं के 16 स्तर (प्रत्येक 247 वर्ण) छोटे सिमलिंक उपनामों के साथ (a→ddd..., b→ddd...). हल किए गए पथ को ~3968 बाइट्स तक बढ़ा देता है।
  2. पिवट सिमलिंक — श्रृंखला के अंत में ../ × 16. realpath() ओवरफ्लो हो जाता है और इसे हल नहीं कर पाता। कर्नेल वापस निष्कर्षण रूट पर चला जाता है।
  3. भागने वाला सिमलिंक — पिवट के माध्यम से, / तक ऊपर, और लक्ष्य निर्देशिका तक नीचे रूट करता है।
  4. पेलोड फ़ाइल — भागने वाले सिमलिंक के माध्यम से रूट के रूप में लक्ष्य पथ पर लिखी जाती है।

उपयोग

रूट उपयोगकर्ता के लिए authorized_keys जोड़ने/बदलने हेतु

/tmp में SSH कुंजी बनाएँ

root@kitploit:~
ssh-keygen -t ed25519 -f /tmp/key -N ""

evil.tar फ़ाइल बनाएँ

root@kitploit:~
python3 CVE-2025-4138_tarfile_filter_bypass.py \
    -o evil.tar \
    -t /root/.ssh/authorized_keys \
    -p /tmp/key.pub \
    -m 0600
FlagDescription
-oआउटपुट tar पथ
-tलक्ष्य पर लिखने के लिए फ़ाइल का पूर्ण पथ
-pपेलोड सामग्री के रूप में उपयोग करने के लिए स्थानीय फ़ाइल
-mऑक्टल फ़ाइल अनुमतियाँ (डिफ़ॉल्ट: 0644)

संदर्भ

  • NVD — CVE-2025-4138
  • GHSA-hgqp-3mmf-7h8f

केवल अधिकृत सुरक्षा परीक्षण और CTF उपयोग के लिए।

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